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

首頁(yè) > 編程 > Python > 正文

Python實(shí)現(xiàn)的多線(xiàn)程同步與互斥鎖功能示例

2020-01-04 16:13:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

#! /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() #實(shí)例化一個(gè)Thread對(duì)象,每個(gè)Thread對(duì)象代表著一個(gè)線(xiàn)程    s.start() #通過(guò)start()方法,開(kāi)始線(xiàn)程活動(dòng)'''#'''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 #多個(gè)線(xiàn)程共享操作的數(shù)據(jù)mu = threading.Lock() #創(chuàng)建一個(gè)鎖class MyThread(threading.Thread):  def run(self):    global num    time.sleep(1)    if mu.acquire(True): #獲取鎖狀態(tài),一個(gè)線(xiàn)程有鎖時(shí),別的線(xiàn)程只能在外面等著      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()

運(yùn)行結(jié)果:

Python,多線(xiàn)程,同步,互斥鎖

再分別運(yùn)行注釋中的每一部分代碼:

1. 不加鎖:

Python,多線(xiàn)程,同步,互斥鎖

2. 加鎖:

Python,多線(xiàn)程,同步,互斥鎖

 

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东山县| 河池市| 湘潭市| 鄂伦春自治旗| 榆林市| 阜新市| 民和| 博爱县| 高淳县| 马尔康县| 交城县| 蚌埠市| 安福县| 安仁县| 崇左市| 康定县| 伽师县| 桂平市| 北流市| 东乡县| 长沙县| 西青区| 鲁山县| 澎湖县| 农安县| 额尔古纳市| 嘉黎县| 鄂尔多斯市| 龙川县| 台北县| 乐东| 巴马| 岳阳市| 翁源县| 柘荣县| 托里县| 巴青县| 清远市| 巴青县| 综艺| 抚州市|