我在Python 2.7(在Raspbian Jessie上运行)中使用threading
启动超过8个线程时遇到问题。
如果我跑
import threading
my_func_1()
my_func_2()
my_func_3()
my_func_4()
my_func_5()
threading.Thread(target=my_func_6).start()
my_func_7()
my_func_8()
my_func_9()#this is never reached
my_func_10()#nor this
其中函数1-5,7-10的格式为:
def my_func_1():
global some_global_vars
#do stuff here, involving global and local variables...
threading.Timer(0.02,my_func_1).start()
,功能6的格式为
def my_func_6():
while 1:
#do stuff
然后只执行前8个函数。我觉得这可能与thread-per-process limits in linux有关,但我无法理解它。单独地,这些功能运行良好,并且它始终是执行的前8个(无论它们是否在其中启动)。
我如何检查它是否是每个进程的线程问题?或者它完全是另一回事?