Advertisement
Guest User

Untitled

a guest
Oct 6th, 2015
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.38 KB | None | 0 0
  1. require 'thread'
  2.  
  3. semaphore = Mutex.new
  4. data = {}
  5.  
  6. getter = Thread.new do
  7.   gettercount = 0
  8.   loop do
  9.     puts "#{data[:foo]} #{gettercount}"
  10.     gettercount += 1
  11.   end
  12. end
  13.  
  14. setter = Thread.new do
  15.   settercount = 0
  16.   loop do
  17.     d = { foo: settercount }
  18.     semaphore.synchronize do
  19.       data = d
  20.     end
  21.     settercount += 1
  22.   end
  23.  
  24. end
  25.    
  26. setter.join
  27. getter.join
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement