Advertisement
Guest User

Untitled

a guest
Nov 9th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.25 KB | None | 0 0
  1. func (s *Stack) Push(elm string, done func()) {
  2.     go func() {
  3.         for !s.write.Load() {
  4.         }
  5.  
  6.         s.data[atomic.AddInt32(s.end, 1)-1] = elm
  7.         done()
  8.  
  9.         if atomic.LoadInt32(s.end) <= s.cap {
  10.             s.write.Store(True)
  11.         }
  12.         s.read.Store(True)
  13.     }()
  14. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement