这个问题以前已经在Android、Objective C和C++上得到了回答,但显然没有。如何可靠地确定当前线程是否是主线程?我能想到几种方法,但没有一种能让我真正满意,考虑到它可能和threading.MainThread
一样简单,如果它存在的话。
检查线程名称
主线程在threading.py
中是这样实例化的:
Thread.__init__(self, name="MainThread")
所以我们可以这样做
if threading.current_thread().name == 'MainThread'
但是这个名字是固定的吗?我见过的其他代码检查线程名称中是否包含MainThread
。
存储启动线程
我可以在程序启动时存储对启动线程的引用,即在还没有其他线程的时候。这绝对是可靠的,但是对于这样一个简单的查询来说太麻烦了?
有没有更简洁的方法呢?
https://stackoverflow.com/questions/23206787
复制相似问题