Python:如果我们调用thread.start()并将其保留为不联接或不关闭怎么办?

Anh*_*yễn 5 python multithreading python-multithreading

当我从threading.Thread创建一个新线程时,如下所示:

def hello():
    print ('hello')
t = threading.Thread(target=hello)
t1.start()
Run Code Online (Sandbox Code Playgroud)

如果我像这样创建越来越多的线程,我会不会内存不足或无法使用线程?可以在调用start方法之后像这样保留它吗?

Bre*_*bel 7

是的,如果你创建了很多长时间运行的线程,理论上有可能达到 python 进程的 OS 最大值(在 32 位机器上大约有 2-3k 个线程,或者在 64 位机器上大约 30k)。

但是,您是否join()使用线程并不重要。当target函数返回时,线程将自动退出。