我正在开发一个小应用程序,我知道它将有3个独立于主线程的线程,在某个时刻,我需要从另一个线程中识别一个线程。假设线程是A
,B
,C
。A
将需要与C
连接。我正在尝试在启动线程之前将其添加到字典中,以便稍后识别线程C
:
currentThreads['A'] = threading.Thread(target=func, args=[]]).
currentThreads['A'].start()
currentThreads['B'] = threading.Thread(target=func, args=[]).start()
currentThreads['B'].start()
这种行为很奇怪:有时两个currentThreads[key].start()
都能AttributeError: 'NoneType' object has no attribute 'start'
,有时只有{
有什么线索吗?在
这是因为^{} 返回
None
所以在:currentThreads['B']
是None
,因此调用currentThreads['B'].start()
将引发{我建议您,为了保持线程的引用名称,请实际为它们命名,如下所示:
然后,当您需要检查线程的名称时,只需使用
^{pr2}$getName()
获取它的名称:相关问题 更多 >
编程相关推荐