使用python 3进行一些线程处理,同时运行两件事情。这是我测试的脚本。
from threading import Thread
import time as t
x=1
z=1
var=0
def firstFunction():
global var
while x == 1:
var += 1
t.sleep(1)
def secondFunction():
while z == 1:
print(var)
t.sleep(1)
add=Thread(target=firstFunction)
see=Thread(target=secondFunction)
add.start()
see.start()因为某种原因,当我运行它的时候,你告诫它要计数,对吗?但它只是说
1
但是如果我尝试一个包含脚本的脚本,询问您是否希望看到var,它工作得很好。有什么办法可以让这件事不用我去问吗?这是发问的密码。
from threading import Thread
import time as t
x=1
z=1
var=0
def firstFunction():
global var
while x == 1:
var += 1
t.sleep(1)
def secondFunction():
while z == 1:
see1=input("See var? : ")
if see1 == "y":
print(var)
elif seel == "n":
print("ok")
else:
print("not option")
add=Thread(target=firstFunction)
see=Thread(target=secondFunction)
add.start()
see.start()发布于 2017-12-05 14:05:09
当您像这样运行您的代码时,主线程将在启动两个子线程后直接到达末端并终止。
你必须等到线程完成。.join()会这样做,所以您只需将这些行添加到您的程序的末尾
add.join()
see.join()主线程将等待两个线程完成。
请注意,线程和联接的不幸星座可能导致死锁。
https://stackoverflow.com/questions/47655075
复制相似问题