国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三明市| 保康县| 铜陵市| 彰化市| 鄯善县| 台北市| 红河县| 阜宁县| 侯马市| 阿拉善左旗| 广汉市| 肇源县| 临沭县| 镇安县| 阿拉善右旗| 剑川县| 江川县| 石棉县| 外汇| 闽清县| 喀什市| 临洮县| 德州市| 阿勒泰市| 新建县| 花莲县| 江山市| 安仁县| 曲靖市| 宁蒗| 桃园县| 甘南县| 遂昌县| 乡城县| 游戏| 托里县| 旬邑县| 铜川市| 金寨县| 广南县| 南雄市|