在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Python/ python3 多線程問題

python3 多線程問題

如何讓多線程的子線程執(zhí)行完一個再去執(zhí)行另外一個

for T in range(len(answers)):

submitdata = answers[T]
thread = threading.Thread(target=self.threading_run,args=(T,));
thread.start()

import time, threading

balance = 0
lock = threading.Lock()

def change_it(n):

# 先存后取,結(jié)果應(yīng)該為0:
global balance
balance = balance + n
balance = balance - n

def run_thread(n):

for i in range(100000):
    # 先要獲取鎖:
    lock.acquire()
    try:
        # 放心地改吧:
        change_it(n)
    finally:
        # 改完了一定要釋放鎖:
        lock.release()

t1 = threading.Thread(target=run_thread, args=(5,))
t2 = threading.Thread(target=run_thread, args=(8,))
t1.start()
t2.start()
t1.join()
t2.join()
print(balance)
為什么鎖會報錯,而且,我多線程都用不了了

lock = threading.Lock()

AttributeError: module 'threading' has no attribute 'Lock'

回答
編輯回答
魚梓

threading.Lock鎖實現(xiàn)線程同步。


另外遍歷一個數(shù)組請用for item of arr:遍歷,不要用for i in range(len(arr)):

2018年6月21日 03:48