import time
import threading
defaddnum
():global num #在每個執行緒中都獲取這個全域性變數
#num-=1
temp=num
#print('--get num:',num )
time.sleep(0.1)#可以把時間調短一點,看看是什麼效果
num =temp-1
#對此公共變數進行-1操作
num = 100
#設定乙個共享變數
thread_list =
for i in range(100):
t = threading.thread(target=addnum)
t.start()
for t in thread_list: #等待所有執行緒執行完畢
t.join()
print('final num:', num )#結果為99,多個執行緒都在同時操作同乙個共享資源,所以造成了資源破壞
加鎖後
import time
import threading
r = threading.lock()
####
defsub
():global num
r.acquire() #
temp = num - 1
# time.sleep(0.1) #
num = temp #這五行相當於序列,但如果後面還有**就會是併發的
r.release() #
num=100
thread_list =
for i in range(100):
t = threading.thread(target=sub)
t.start()
for t in thread_list: #等待所有執行緒執行完畢
t.join()
print('final num:', num )#結果是0
import threading,time
class
mythread
(threading.thread):
defdoa
(self):
locka.acquire()
print(self.name,"gotlocka",time.ctime())
time.sleep(3)
lockb.acquire()
print(self.name,"gotlockb",time.ctime())
lockb.release()
locka.release()
defdob(self):
lockb.acquire()
print(self.name,"gotlockb",time.ctime())
time.sleep(2)
locka.acquire()
print(self.name,"gotlocka",time.ctime())
locka.release()
lockb.release()
defrun(self):
self.doa()
self.dob()
if __name__=="__main__":
locka=threading.lock()
lockb=threading.lock()
threads=
for i in range(5):
for t in threads:
t.start()
for t in threads:
t.join()#等待執行緒結束。#程式會在中間鎖死
import threading,time
class
mythread
(threading.thread):
defdoa
(self):
rl.acquire()
print(self.name,"gotlocka",time.ctime())
time.sleep(3)
rl.acquire()
print(self.name,"gotlockb",time.ctime())
rl.release()
rl.release()
defdob(self):
rl.acquire()
print(self.name,"gotlockb",time.ctime())
time.sleep(2)
rl.acquire()
print(self.name,"gotlocka",time.ctime())
rl.release()
rl.release()
defrun(self):
self.doa()
self.dob()
if __name__=="__main__":
rl=threading.rlock()
threads=
for i in range(5):
for t in threads:
t.start()
for t in threads:
t.join()
冥想第二十四天
還有乙個需要提高的地方就是 慢一點,以往自己對成功和只是追求的太急切。一急切就亂了節奏,適當的急切是必要的 放輕鬆全身都是最舒服的狀態。平靜的內心讓自己能面對生活的困難。感謝自己,感謝家人,感謝朋友,感謝一切。不責怪自己,一天比一天進步就好。慢慢來。下午和客戶積極的溝通,全身心的投入,發現一點也不困...
學習前端的第二十四天
一 grid布局 針對的是子元素布局。1.形成乙個網格結構 父元素新增 display grid 2.劃分行和列 grid template columns grid template rows 如果是3個值 代表3行或3列 能接受具體的px 也能是百分比 劃分行和列的時候的關鍵字 和 方法 a r...
連續總結第二十四天
11.4 康鑫 連續總結第二十四天 今天學習了課本上有關陣列的知識,陣列與指標。1,指標運算包括a,賦值運算 b,算術運算 c,關係運算 d,邏輯運算。2 一維陣列 a 與指標 p 3,二維陣列 b,m行n列 與指標。4,字元陣列 s 與指標 ps 5,指標陣列 完成了課本的例題,通過程式設計實現二...