亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python多線程和隊列操作實例

系統(tǒng) 2060 0

Python3,開一個線程,間隔1秒把一個遞增的數(shù)字寫入隊列,再開一個線程,從隊列中取出數(shù)字并打印到終端

復制代碼 代碼如下:

#! /usr/bin/env python3

import time
import threading
import queue

# 一個線程,間隔一定的時間,把一個遞增的數(shù)字寫入隊列
# 生產者
class Producer(threading.Thread):

??? def __init__(self, work_queue):
??????? super().__init__() # 必須調用
??????? self.work_queue = work_queue
???????
??? def run(self):
??????? num = 1
??????? while True:
??????????? self.work_queue.put(num)
??????????? num = num+1
??????????? time.sleep(1) # 暫停1秒

# 一個線程,從隊列取出數(shù)字,并顯示到終端
class Printer(threading.Thread):

??? def __init__(self, work_queue):
??????? super().__init__() # 必須調用
??????? self.work_queue = work_queue

??? def run(self):
??????? while True:
??????????? num = self.work_queue.get() # 當隊列為空時,會阻塞,直到有數(shù)據(jù)
??????????? print(num)

def main():
??? work_queue = queue.Queue()

??? producer = Producer(work_queue)
??? producer.daemon = True # 當主線程退出時子線程也退出
??? producer.start()

??? printer = Printer(work_queue)
??? printer.daemon = True # 當主線程退出時子線程也退出
??? printer.start()

??? work_queue.join() # 主線程會停在這里,直到所有數(shù)字被get(),并且task_done(),因為沒有調用task_done(),所在這里會一直阻塞,直到用戶按^C

if __name__ == '__main__':
??? main()


queue是線程安全的,從多個線程訪問時無需加鎖。
如果在work_queue.get()之后調用work_queue.task_done(),那么在隊列空時work_queue.join()會返回。
這里work_queue.put()是間隔一定時間才往隊列放東西,如果調用work_queue.task_done(),在數(shù)字1被get()后,隊列空時,join()就返回,程序就結束了。
也就是程序只打印了1然后就退出了。
所以在這種使用情景下,不能調用task_done(),程序會一直循環(huán)下去。
https://docs.python.org/3/library/queue.html


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品福利一区二区久久 | 99久久精品久久久久久清纯 | 青青草a免费线观a | 伊人色综合久久天天伊 | 一级毛片特级毛片免费的 | 精品国产成人三级在线观看 | 日本jizz中国| 高清国产精品入口麻豆 | 亚洲综合99 | 国产一级视频久久 | 第一福利影院 | 天天干夜夜想 | 亚洲国产一区在线二区三区 | 久久青草视频 | 天天操夜夜草 | 亚洲 欧美 综合 | 国产成人亚洲综合一区 | 高清人人天天夜夜曰狠狠狠狠 | a性视频 | 日本操比 | 国产原创中文字幕 | 国产精品综合一区二区三区 | 成人三级做爰在线观看男女 | 亚洲精品日韩在线一区 | 亚洲精品久久玖玖玖玖 | 香蕉人精品视频多人免费永久视频 | 欧美深度肠交惨叫 | 亚洲欧美日本国产综合在线 | 久青草中文字幕精品视频 | 欧美久久天天综合香蕉伊 | 久久久亚洲欧洲国产 | 99在线精品日韩一区免费国产 | 离线枕边人国语在线影视 | 91亚洲国产 | 国产亚洲精品国看不卡 | 亚洲精品国产手机 | 亚洲国产成人精品一区二区三区 | 一本一本久久α久久精品66 | 国产精品久久久久久久网站 | 欧美国产日韩在线播放 | 久久日韩精品激情 |