成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

python 繼承線程的類 不能通過標志位結束線程

瀏覽:115日期:2022-06-30 15:52:11

問題描述

在測試生產消費者模型的時候遇到這樣一個問題,在繼承線程后 加了個標志位 mark

class Consumer(threading.Thread): def __init__(self, queue):threading.Thread.__init__(self)self._queue = queueself.mark = True def run(self):while self.mark: msg = self._queue.get() if isinstance(msg, str) and msg == ’quit’:break print('I’m a thread, and I received %s!!' % msg)print(’Bye byes!’)

def producer(): q = queue.Queue() worker = Consumer(q) worker.start() # 開啟消費者線程 start_time = time.time() while time.time() - start_time < 5:q.put(’something at %s’ % time.time())time.sleep(1) worker.mark = Flese worker.join()

我原先指望 通過這個標志位來實現線程的結束控制,但實際效果是程序卡死在worker.join()完全沒有退出。

請教下,這是什么原因?

問題解答

回答1:

class Consumer(threading.Thread): def __init__(self, queue):threading.Thread.__init__(self)self._queue = queueself.mark = True def run(self):while self.mark: try:msg = self._queue.get(block=False) # 非阻塞print('I’m a thread, and I received %s!!' % msg) except:pass print(’self.mark’,self.mark)print(’Bye byes!’)def producer(): q = queue.Queue() worker = Consumer(q) worker.start() # 開啟消費者線程 start_time = time.time() while time.time() - start_time < 5:q.put(’something at %s’ % time.time())time.sleep(1) worker.mark = False worker.join()

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 香港国产特级一级毛片 | 18视频免费网站 | 91精品国产综合久久久久久 | 日本欧美视频在线 | 国内精品不卡一区二区三区 | 夜色综合| 久久久久久青草大香综合精品 | 日韩在线视频线视频免费网站 | 狠狠狠狠狠 | 精品动漫一区二区 | 成人免费手机在线看网站 | 九九久久九九久久 | 欧美成人精品免费播放 | 久久成人精品 | 欧美高清一级片 | 亚洲特级毛片 | 久草网站在线 | 亚洲一区二区三区一品精 | 亚州综合 | 国产精品毛片久久久久久久 | 色综合天天综合网看在线影院 | 大学生一级一片第一次免费 | 一区二区三区不卡在线 | 中国一级淫片aaa毛片毛片 | 女人叉开腿让男人捅 | 911精品国产亚洲日本美国韩国 | 国产成人精品一区二三区在线观看 | 久久国内精品自在自线软件 | 成人在线免费观看视频 | 富二代精品视频 | 成人免费观看永久24小时 | 久久精视频 | 伊人色在线观看 | 精品在线免费视频 | 国产高清精品毛片基地 | 国产91精选在线观看网站 | 亚洲欧美一区二区三区国产精品 | 欧美日韩亚洲第一页 | 免费老外的毛片清高 | 欧美激情自拍 | 欧美成人看片一区二区三区尤物 |