是不是有小夥伴是這一樣寫的啊threading.Lock().acquire() ……threading.Lock().release()
因爲threading.Lock()是創建了一個鎖像,後面釋放時,你是建立了一個新得鎖對象,並且釋放到那個新的對象。
class myThread(threading.Thread):
def __init__(self, name, s):
threading.Thread.__init__(self)
self.s = s
self.name = name
def run(self):
print("beigin ",self.name)
threading.Lock().acquire()
print_time(self.name,self.s)
print("end ", self.s)
threading.Lock().release()
所以加一個對象就行了
lock = threading.Lock()
class myThread(threading.Thread):
def __init__(self, name, s):
threading.Thread.__init__(self)
self.s = s
self.name = name
def run(self):
print("beigin ",self.name)
lock.acquire()
print_time(self.name,self.s)
print("end ", self.s)
lock.release()