Python线程——线程未启动

Python线程——线程未启动,python,multithreading,Python,Multithreading,我对线程模块很陌生,但我的问题是线程似乎没有启动。我尝试使用currentThread函数查看它们是新线程启动,但我看到的唯一内容是主线程。此外,在每个教程中,我看到它们使用类或子类,如类t(threading.thread)。那么,是我的方法错了,还是我必须在Python3中使用类来启动线程呢。 以下是我写的一些脚本: 第一: import threading def basicThread(threadName,nr): print("Thread name

我对线程模块很陌生,但我的问题是线程似乎没有启动。我尝试使用currentThread函数查看它们是新线程启动,但我看到的唯一内容是主线程。此外,在每个教程中,我看到它们使用类或子类,如类t(threading.thread)。那么,是我的方法错了,还是我必须在Python3中使用类来启动线程呢。 以下是我写的一些脚本:

第一:

    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”打印的行表示运行该方法的实际线程(即新形成的线程)

  • 将线程_1.join()移动到底部,如前一个答案所示


  • ... 在第一个示例中,在for循环之外