Oct-06-2022, 06:25 PM
If I have two processes communicating through a JoinableQueue, and I do the following:
process 1:
will 'hello' always be printed? Or is there a chance that the put in process 2 executes before process 1 noticed that it should unblock?
It seems that the whole point of join() is that 'hello' should always be printed, but I just want to make sure that I understand it correctly.
process 1:
queue.put(1) #unfished tasks = 1 queue.join() #block until unfished tasks = 0 print('hello')process 2:
queue.get() queue.task_done() #unfished tasks = 0 queue.put(1) #unfinished tasks 1the unfished tasks refers to what is written in the documentation
will 'hello' always be printed? Or is there a chance that the put in process 2 executes before process 1 noticed that it should unblock?
It seems that the whole point of join() is that 'hello' should always be printed, but I just want to make sure that I understand it correctly.