from queue import Queue q = Queue(maxsize=3)#限制队列3个 #添加内容进去到队列 q.put(10) q.put(20) q.put(30) print(q.qsize())#获取队列内容个数 # q.put(40)#如果队列内容满了再添加将会柱塞,进程无法结束吗,直到内容有位置 # q.put_nowait(50)#如果满了, 还添加就报一个Full的错误 print(q.unfinished_tasks)#没有结束任务数量, # 这个变量, 每次添加都会增加1,但是每次get时候, 并不会减少1 print(q.get())#获取到内容从头获取 q.task_done()# (任务完成意思)才会让 unfinished_tasks 参数减少1 print(q.get()) q.task_done() print(q.unfinished_tasks) print(q.get()) q.task_done() print(q.unfinished_tasks) # 默认情况下. 当队列为空了, 再调用get方法就阻塞当前线程, 知道能取出数据为止 # print(q.get()) # - url.. # - 发送请求获取响应的 # 当 unfinished_tasks == 0 时候, 判定任务都完成了 q.join() # 让主线程登录, 直到队列中任务都完成了为止
就是这么简单