sync for backup

This commit is contained in:
Melody Becker 2024-08-22 19:56:37 +02:00
parent b3db20785b
commit f6878107d8
No known key found for this signature in database

30
wrapped-mutex/mutex.go Normal file
View file

@ -0,0 +1,30 @@
package wrappedmutex
import "sync"
type Mutex[T any] struct {
wrapped T
lock sync.Mutex
}
func New[T any](wrapped T) Mutex[T] {
return Mutex[T]{
wrapped: wrapped,
}
}
func (m *Mutex[T]) Lock() {
m.lock.Lock()
}
func (m *Mutex[T]) TryLock() bool {
return m.lock.TryLock()
}
func (m *Mutex[T]) Unlock() {
m.lock.Unlock()
}
func (m *Mutex[T]) Get() *T {
return &m.wrapped
}