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

首頁 > 編程 > Python > 正文

Python實現的多線程同步與互斥鎖功能示例

2020-02-16 10:54:22
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現的多線程同步與互斥鎖功能。分享給大家供大家參考,具體如下:

#! /usr/bin/env python#coding=utf-8import threadingimport time'''#1、不加鎖num = 0class MyThread(threading.Thread):  def run(self):    global num    time.sleep(1) #一定要sleep!!!    num = num + 1    msg = self.name + ' num is ---- ' + str(num)    print msgdef test():  for i in range(10):    s = MyThread() #實例化一個Thread對象,每個Thread對象代表著一個線程    s.start() #通過start()方法,開始線程活動'''#'''class MyThread(threading.Thread):  def run(self):    for i in range(3):      time.sleep(1)      msg = self.name+' @ '+str(i)      print msgdef test():  for i in range(5):    t = MyThread()    t.start()#''''''#2、加鎖num = 0 #多個線程共享操作的數據mu = threading.Lock() #創建一個鎖class MyThread(threading.Thread):  def run(self):    global num    time.sleep(1)    if mu.acquire(True): #獲取鎖狀態,一個線程有鎖時,別的線程只能在外面等著      num = num + 1      msg = self.name + ' num is ---- ' + str(num)      print msg      mu.release() #釋放鎖def test():  for i in range(10):    s = MyThread()    s.start()'''if __name__ == '__main__':  test()

運行結果:

再分別運行注釋中的每一部分代碼:

1. 不加鎖:

2. 加鎖:

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結》、《Python Socket編程技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永德县| 伊宁市| 旅游| 玉门市| 沙洋县| 绥阳县| 宁国市| 靖远县| 南川市| 普格县| 华蓥市| 陈巴尔虎旗| 英德市| 新化县| 宜川县| 陆河县| 武平县| 呼图壁县| 门头沟区| 大关县| 龙海市| 册亨县| 岳普湖县| 休宁县| 钦州市| 城固县| 乌拉特后旗| 马尔康县| 东海县| 桦川县| 民乐县| 宽城| 静安区| 永安市| 同仁县| 衢州市| 阿坝| 乐至县| 滦平县| 铅山县| 北宁市|