代碼如下,我在佇列q中取出0后捕獲例外報錯,然后就卡死,怎么跳過這個0取下一個數
class saver(threading.Thread):
def __init__(self, q):
super(saver, self).__init__()
self.q = q
def run(self) -> None:
global n
while True:
try:
y = self.q.get()
glock.acquire()
n = n + 1
print(y)
print(1/y)
print('%d次計算' % n)
glock.release()
except Exception as e:
print(e)
def main():
ls = [random.randint(0, 5) for i in range(20)]
q = queue.Queue()
for l in ls:
q.put(l)
for x in range(5):
th = saver(q)
th.start()
if __name__ == '__main__':
main()
uj5u.com熱心網友回復:
將glock.release()寫到finally:內uj5u.com熱心網友回復:
glock是用來鎖n的,把這些都刪掉也不行
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/8656.html
下一篇:python腳本運行沒有任何提示
