[英]Python Threading — Threads not starting
我对线程模块很新,但我的问题是线程似乎无法启动。我试图使用currentThread函数来查看它们是新线程的开始,但我唯一看到的是主线程。另外,在每个教程我都看到他们使用类或子类,比如class t(threading.Thread)。 所以我的方法是错的还是我必须使用类来启动python 3中的线程。这是我编写的一些脚本:
首先:
import threading
def basicThread(threadName,nr):
print("Thread name ",threadName,", alive threads ",nr)
for i in range(0,11):
print(threading.activeCount())
print(threading.currentThread())
t = threading.Thread(target = basicThread,args = ("Thread - %s" %i,i,))
t.start()
t.join()
第二:
import threading
def openFile():
try:
file = open("haha.txt","r+")
print("Finished in opening file : {0}".format(file))
except IOError as e:
print("Error : {0}".format(e))
def user(threadName,count):
age = int(input("Enter your age : "))
name = str(input("Enter your name : "))
print(age,name)
print(threadName,count)
threadList = []
thread_1 = threading.Thread(target = openFile)
thread_1.start()
thread_1.join()
thread_2 = threading.Thread(target = user,args = ("Thread - 2",threading.activeCount()))
thread_2.start()
thread_2.join()
thread.join()
做的是等待线程结束它正在做的事情。 要允许其他线程启动,请将此行移至过程的末尾。
current_thread()返回主线程,因为您在main方法中调用它。 从方法“basicThread”打印的行表示运行该方法的实际线程(它们是新形成的线程)。
将thread_1.join()移动到底部,如上一个答案中所示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.