亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:88日期: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 編程
相關文章:
主站蜘蛛池模板: 欧美成人毛片在线视频 | 最近中国免费高清观看 | 麻豆91精品91久久久 | 亚洲午夜精品一区二区蜜桃 | 亚洲精品中文字幕第一区 | 欧美一级特黄毛片视频 | 天天影视色香欲综合免费 | 久久伊人精品综合观看99 | 黄色在线播 | 国产精品喷水在线观看 | 韩国欧美一级毛片 | 日韩欧美一区二区三区在线观看 | 91porn丫九色 | 伊人成伊人成综合网2222 | 亚洲人成一区二区不卡 | 精品综合久久久久久8888 | 欧洲男女下面进出的视频 | 国产成人午夜性视频影院 | 国产精品成人观看视频国产 | 久久青青草原精品老司机 | 日韩国产欧美精品综合二区 | 亚洲国产精品乱码在线观看97 | 国产欧美日韩专区 | 黄色免费在线观看视频 | 色婷婷亚洲精品综合影院 | 欧美特黄一区二区三区 | 男人你懂的在线观看视频 | 国产一级二级 | 日本欧美国产精品第一页久久 | 伊人久久国产 | 精品国产看高清国产毛片 | 中文字幕2022永久在线 | 久国产视频 | 欧美ol丝袜高跟秘书在线播放 | 国产在线精彩视频 | 欧美高清性色生活片免费观看 | 亚洲精品国产理论电影网 | 最新国产你懂的在线网址 | 亚洲午夜国产片在线观看 | 老司机日日摸夜夜摸精品影院 | 亚洲午夜日韩高清一区 |