import threading
import time
def circle_1():
while(True):
print("线程_1")
if(input() == 0):
break
time.sleep(0.1)
def circle_2():
while(True):
print("线程_2")
time.sleep(0.1)
thread1 = threading.Thread(target=circle_1)
thread1.start()
thread2 = threading.Thread(target=circle_2)
thread2.start()
我给另一个例子你看看参考一下吧,是一个实际应用,多线程生成随机4位字符串,然后通过外部输入中断线程
import string
import threading
import time
import random
loop = True
def createStr(n,thread_num):
global loop
while loop:
str = random.sample(string.ascii_letters + string.digits, n)
print(thread_num,'---------',''.join(str).lower())
time.sleep(1)
def stop():
global loop
q = input()
if q =='q':
loop = False
t1 = threading.Thread(target=createStr, args=(4,1,))
t1.start()
t2 = threading.Thread(target=createStr, args=(4,2,))
t2.start()
t3 = threading.Thread(target=stop, args=())
t3.start()
键盘输入肯定是主线程来响应的,你不可以把键盘输入搞到子线程里面去
此外,如果你想随时输入,那就不能不停输出
否则把你输入的内容冲的七零八落
子线程键入会有问题,报错EOF error
建议子线程的输入改成用变量传入