Ruby实现生产者和消费者代码分享

时间:2022-09-03 12:33:07

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

#ruby实现生产者和消费者代码

 

require 'thread'

queue = Queue.new

consumers = Thread.new do

  5.times do |i|

    obj = queue.pop

    print "consumer :#{i}\n"

    sleep(rand(0.05))

  end

end

 

producters = Thread.new do

  5.times do |i|

    sleep(0.1)

    print "producter : #{i}\n"

    queue.push("Item #{i}")

  end

end

 

producters.join

consumers.join