![](/img/trans.png)
[英]Multithreading - Alternating between two threads using Conditions and Events in Python
[英]Multithreading - Alternate between two threads using locks
我正在嘗試編寫一個程序,希望使用該程序在兩個線程thread1和thread2之間交替。 棘手的部分是,我要確保應該開始執行的第一個線程是thread1。 這是我到目前為止的代碼,但是它總是使我拋出運行時異常。
lock1.release()錯誤:釋放解鎖的鎖
但是,在我看來,lock1並不是正在釋放的解鎖鎖!
這是我到目前為止的代碼
class Client:
#member variables
def sendFile(self,lock1,lock2):
sent = 0
while (i<self.size):
if(sent!=0):
lock2.acquire()
BadNet.transmit(self.clientSocket,message,self.serverIP,self.serverPort)
lock1.release()
sent+=1
self.clientSocket.close()
def receiveAck(self,lock1,lock2):
print "\n Entered ack !"
lock1.acquire()
ack, serverAddress = self.clientSocket.recvfrom(self.buf)
lock2.release()
if __name__ == "__main__":
lock1 = Lock()
lock2 = Lock()
client = Client();
client.readFile();
thread1 = Thread(target = client.sendFile, args=[lock1,lock2])
thread2 = Thread(target = client.receiveAck, args=[lock1,lock2])
thread1.start()
thread2.start()
thread1.join()
thread2.join()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.