使用队列共享资源
队列: 先进先出.
queue被做为公共资源(多进程, 多线程.), 这种时候py自动帮我们加了锁(不管锁的问题).
"""
线程的队列.
q = queue.Queue() 创建对象. args: Queue(2)表示给参数可以指定队列长度,
q.put('str') 添加对象. args: ('str',timeout=2)表示当队列慢了阻塞到达2s就报queue.Full错,
q.get() 获取对象. args: timeout=2(表示阻塞2s后就报queue.Empty错),
q.task_done() 结束任务, 加在get后面.
q.join() 确保任务结束, 每当put一次内部就会计数一次, 所以没get完就阻塞.
q.qsize() 查看队列长度.
q.empty() check the queue if is_empty, yes: True, no: False.
q.ful() check the queue if is_full, yes:True, no: False.
put几个就得get几个, 不然就会进入阻塞.
put多于队列长度也会阻塞.
"""
import queue
q = queue.Queue() # create Queue obj.
print(q.qsize()) # show the queue length.
q.put('lls') # input arg.
q.get()
q.task_done() # Be in after get().
print(q.qsize())
q.join()
多进程使用队列共享资源
"""
进程队列.
使用Manager.Queue() 创建queue对象.
"""