国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python編程之event對象的用法實(shí)例分析

2020-02-23 04:28:49
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Python編程中event對象的用法。分享給大家供大家參考,具體如下:

Python提供了Event對象用于線程間通信,它是由線程設(shè)置的信號標(biāo)志,如果信號標(biāo)志位為假,則線程等待直到信號被其他線程設(shè)置成真。這一點(diǎn)似乎和windows的event正好相反。 Event對象實(shí)現(xiàn)了簡單的線程通信機(jī)制,它提供了設(shè)置信號,清除信號,等待等用于實(shí)現(xiàn)線程間的通信。

1.設(shè)置信號

使用Event的set()方法可以設(shè)置Event對象內(nèi)部的信號標(biāo)志為真。Event對象提供了isSet()方法來判斷其內(nèi)部信號標(biāo)志的狀態(tài),當(dāng)使用event對象的set()方法后,isSet()方法返回真.

2.清除信號

使用Event對象的clear()方法可以清除Event對象內(nèi)部的信號標(biāo)志,即將其設(shè)為假,當(dāng)使用Event的clear方法后,isSet()方法返回假

3.等待

Event對象wait的方法只有在內(nèi)部信號為真的時(shí)候才會很快的執(zhí)行并完成返回。當(dāng)Event對象的內(nèi)部信號標(biāo)志位假時(shí),則wait方法一直等待到其為真時(shí)才返回。

可以使用Event讓工作線程優(yōu)雅地退出,示例代碼如下:

# make thread exit nicelyclass MyThread9(threading.Thread):  def __init__(self):    threading.Thread.__init__(self)  def run(self):    global event    while True:      if event.isSet():        logging.warning(self.getName() + " is Running")        time.sleep(2)      else:        logging.warning(self.getName() + " stopped")        break;event = threading.Event()event.set()def Test9():  t1=[]  for i in range(6):    t1.append(MyThread9())  for i in t1:    i.start()  time.sleep(10)  q =raw_input("Please input exit:")  if q=="q":    event.clear()if __name__=='__main__':  Test9()

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進(jìn)程與線程操作技巧總結(jié)》、《Python Socket編程技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙游县| 芷江| 勐海县| 大宁县| 永安市| 平度市| 吐鲁番市| 马边| 甘泉县| 炉霍县| 防城港市| 西华县| 邵阳县| 滨海县| 泰顺县| 神农架林区| 建宁县| 吴旗县| 宣化县| 神农架林区| 曲阜市| 潞城市| 汉中市| 德阳市| 寿阳县| 西乌珠穆沁旗| 甘肃省| 天水市| 榆中县| 清水县| 郓城县| 永修县| 肥乡县| 云龙县| 临澧县| 威远县| 年辖:市辖区| 平定县| 德令哈市| 黑龙江省| 山东省|