欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年11月30日 11:47:19   作者:愛(ài)橙子的OK繃  
這篇文章主要介紹了Python實(shí)現(xiàn)的多線(xiàn)程同步與互斥鎖功能,涉及Python多線(xiàn)程及鎖機(jī)制相關(guān)操作技巧,需要的朋友可以參考下

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

#! /usr/bin/env python
#coding=utf-8
import threading
import time
'''
#1、不加鎖
num = 0
class MyThread(threading.Thread):
  def run(self):
    global num
    time.sleep(1) #一定要sleep?。?!
    num = num + 1
    msg = self.name + ' num is ---- ' + str(num)
    print msg
def 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 msg
def 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é)果:

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

1. 不加鎖:

2. 加鎖:

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

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

相關(guān)文章

  • python中關(guān)于py文件之間相互import的問(wèn)題及解決方法

    python中關(guān)于py文件之間相互import的問(wèn)題及解決方法

    這篇文章主要介紹了python中關(guān)于py文件之間相互import的問(wèn)題,本文用一個(gè)例子演示下如何解決python中循環(huán)引用的問(wèn)題,需要的朋友可以參考下
    2022-02-02
  • Python3中延時(shí)變量和 free_list鏈表的區(qū)別解析

    Python3中延時(shí)變量和 free_list鏈表的區(qū)別解析

    這篇文章主要介紹了Python3中延時(shí)變量和 free_list鏈表的區(qū)別,在Python3中,"延時(shí)變量" 和 "free_list鏈表" 是兩個(gè)不同的概念,他們之間沒(méi)有直接聯(lián)系,本文給實(shí)例相結(jié)合給大家講解的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 如何基于Python爬蟲(chóng)爬取美團(tuán)酒店信息

    如何基于Python爬蟲(chóng)爬取美團(tuán)酒店信息

    這篇文章主要介紹了如何基于Python爬蟲(chóng)爬取美團(tuán)酒店信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • ​如何愉快地遷移到 Python 3

    ​如何愉快地遷移到 Python 3

    如今 Python 成為機(jī)器學(xué)習(xí)和大量使用數(shù)據(jù)操作的科學(xué)領(lǐng)域的主流語(yǔ)言; 它擁有各種深度學(xué)習(xí)框架和完善的數(shù)據(jù)處理和可視化工具。這篇文章主要介紹了遷移到 Python 3的方法,需要的朋友可以參考下
    2019-04-04
  • python連接mysql數(shù)據(jù)庫(kù)示例(做增刪改操作)

    python連接mysql數(shù)據(jù)庫(kù)示例(做增刪改操作)

    python連接mysql數(shù)據(jù)庫(kù)示例,提供創(chuàng)建表,刪除表,數(shù)據(jù)增、刪、改,批量插入操作,大家參考使用吧
    2013-12-12
  • Python正則表達(dá)式介紹

    Python正則表達(dá)式介紹

    本文介紹了Python對(duì)于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫(kù)的完整介紹及使用示例。本文的內(nèi)容不包括如何編寫(xiě)高效的正則表達(dá)式、如何優(yōu)化正則表達(dá)式,這些主題請(qǐng)查看其他教程
    2012-08-08
  • 利用django創(chuàng)建一個(gè)簡(jiǎn)易的博客網(wǎng)站的示例

    利用django創(chuàng)建一個(gè)簡(jiǎn)易的博客網(wǎng)站的示例

    這篇文章主要介紹了利用django創(chuàng)建一個(gè)簡(jiǎn)易的博客網(wǎng)站的示例,幫助大家更好的學(xué)習(xí)和使用django框架,感興趣的朋友可以了解下
    2020-09-09
  • 詳解python:time模塊用法

    詳解python:time模塊用法

    這篇文章主要介紹了python:time模塊用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python 敏感詞過(guò)濾的實(shí)現(xiàn)示例

    Python 敏感詞過(guò)濾的實(shí)現(xiàn)示例

    本文主要介紹了Python 敏感詞過(guò)濾的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • python中字符串最常用的十三個(gè)處理操作記錄

    python中字符串最常用的十三個(gè)處理操作記錄

    這篇文章主要給大家介紹了關(guān)于python中字符串最常用的13個(gè)處理操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論