【发布时间】:2018-05-13 09:47:45
【问题描述】:
我的代码: 在 repl.it IDE 中运行它
from multiprocessing import Queue
colors = ['red', 'green', 'blue', 'black']
cnt = 1
# instantiating a queue object
queue = Queue()
print('pushing items to queue:')
for color in colors:
print('item no: ', cnt, ' ', color)
queue.put(color)
cnt += 1
print('\npopping items from queue:')
cnt = 1
while not queue.empty():
print('item no: ', cnt, ' ', queue.get())
cnt += 1
但是每次我运行它,o/p 每次都不同,这是为什么呢?
1 -
pushing items to queue:
item no: 1 red
item no: 2 green
item no: 3 blue
item no: 4 black
popping items from queue:
item no: 1 red
item no: 2 green
item no: 3 blue
item no: 4 black
2- 这次它不显示 get o/p
pushing items to queue:
item no: 1 red
item no: 2 green
item no: 3 blue
item no: 4 black
popping items from queue:
3- 这次只有 get() 部分的 2 o/p
pushing items to queue:
item no: 1 red
item no: 2 green
item no: 3 blue
item no: 4 black
popping items from queue:
item no: 1 red
item no: 2 green
为什么会这样!这与我不知道的一些隐藏的多处理有关吗?
提前致谢。
【问题讨论】:
标签: python-3.x python-multiprocessing