Which looks like...?

On Tue, Dec 3, 2019, 4:50 PM Robert Engels <reng...@ix.netcom.com> wrote:

> I would use an atomic and a lock instead of two locks.
>
> > On Dec 3, 2019, at 6:35 PM, burak serdar <bser...@computer.org> wrote:
> >
> > On Tue, Dec 3, 2019 at 5:21 PM Liam Breck <networkimp...@gmail.com>
> wrote:
> >>
> >> I have a problem that is trivially solved via
> >>
> >> door sync.RWMutex
> >>
> >> func Reader() T {
> >>   if !door.TryRLock() { // missing in stdlib :-(
> >>      return busy
> >>   }
> >>   defer door.RUnlock()
> >>   ...
> >> }
> >>
> >> func Writer() {
> >>   door.Lock()
> >>   defer door.Unlock()
> >>   ...
> >> }
> >>
> >> How does one achieve this in Go?
> >
> > Two locks and a bool?
> >
> > var door=sync.Mutex{}
> > var x=sync.Mutex{}
> > var b bool
> >
> > func trylock() bool {
> > x.Lock()
> > if b {
> >  x.Unlock()
> >  return false
> > }
> > b=true
> > door.Lock()
> > x.Unlock()
> > return true
> > }
> >
> > unlock:
> >
> > x.Lock()
> > b=false
> > door.Unlock()
> > x.Unlock()
> >
> >
> >
> >
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups "golang-nuts" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an email to golang-nuts+unsubscr...@googlegroups.com.
> >> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/CAKvHMgTO%3DxfFQ_u7aO9UE-1vHHEKmdhr47sro2mnp6DkEb6mPA%40mail.gmail.com
> .
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "golang-nuts" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to golang-nuts+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/CAMV2RqrDeBNhkeswg%2BhdCf1kSzMEJduota%3D6UrNq4z2PQRtzEQ%40mail.gmail.com
> .
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAKvHMgQROw%3DoxSP%2BT3m_woZXX4ke3gP02BpXiFMv-1Nb9cs-tA%40mail.gmail.com.

Reply via email to