summaryrefslogtreecommitdiff
path: root/benchmark/vm_thread_queue.rb
blob: 1dd3696a3c846adabbd92a4b3755845aee7ec813 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'thread'

n = 10_000_000
q = Thread::Queue.new
consumer = Thread.new{
  while q.pop
    # consuming
  end
}

producer = Thread.new{
  n.times{
    q.push true
  }
  q.push nil
}

consumer.join