多執行緒併發玩具

2021-09-05 11:58:00 字數 935 閱讀 8400

# coding=utf-8

import threading

import time

mutex = threading.lock()

class testtreading(threading.thread):

def __init__(self,id):

threading.thread.__init__(self)

self.id =id

"""重寫父類thread的run()方法,此方法一旦生成執行緒物件自動呼叫"""

def run(self):

"""開始上鎖"""

mutexflage = mutex.acquire()

"""判斷上鎖ok,你們同時開始在規定時間考試,都來做加法運算,給你們引數給的不同避免抄襲做自己的結果"""

if mutexflage:

for i in range(10000):

print self.add(),self.getname(),time.asctime()

"""事情完了解除鎖讓別的執行緒用,哪個執行緒需要資源可以用了,本執行緒用完了,不然就blocked阻塞,形成死鎖了"""

mutex.release()

def add(self):

x=self.id

for i in range(101):

x=x+i

return x

if __name__ =="__main__":

threads=[testtreading(i)for i in range(10)]

for t in threads:

t.start()

for t in threads:

t.join()

print "main thread closed"

多執行緒併發

多執行緒併發主要有3個方面 1 同步器 主要有synchronized,reentrantlock 訊號量,門栓 countdownlatch 障柵 cyclicbarrier 交換器。2 同步容器 主要包括 對映 集 佇列 對映 concurrenthashmap,concurrentskipli...

多執行緒併發

更簡單的執行緒池 多執行緒和多程序都可以很容易的實現併發,協程通過切換上下文來充分利用cpu實現併發效果 threading模組 thread類的基本狀態和行為 屬性名和值 name none,group none,target none,args kwargs daemon none 方法 sta...

(多執行緒)多執行緒的併發安全

多執行緒併發操作同乙個資源 同步鎖 多執行緒操作的鎖必須唯一 必須搞清楚 哪些 需要同步?那些在操作共享資源的 只要包含非讀的操作,或者根據共享資源進行條件判斷的,就需要同步!同步 塊解決 package com.gc.thread 多執行緒操作共享資源 併發 執行緒安全問題 同步 鎖 相對而言效能...