Sudharsan R added the comment:
Just add on to it..
q=queue.Queue()
with q.not_full:
q.put_nowait(1)
this will hang. So if we acquire the not_full while computing size, all puts
will wait. Same is the case for q.empty() and q.not_empty method and condition
respectively
New submission from Sudharsan R:
I was browsing through the code for queue.full and queue.put methods. The
queue.full method claims it is not a reliable one. But, the same internal
implementation - _qsize is used for put as well as full. "put" is thread safe
and reliable and &qu