Python中文
首页
教程
问答
标签
搜索
登录
注册
在Python中,检查当前线程是否是主线程
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这在之前的<a href="https://stackoverflow.com/questions/11411022/how-to-check-if-current-thread-is-not-main-thread">Android</a>、<a href="https://stackoverflow.com/questions/3546539/check-whether-or-not-the-current-thread-is-the-main-thread">Objective C</a>和<a href="https://stackoverflow.com/questions/20530218/check-if-current-thread-is-main-thread">C++</a>中得到了回答,但显然不是针对Python。如何可靠地确定当前线程是否为主线程?我可以想到一些方法,但没有一种方法真正让我满意,因为如果存在的话,它可能比<code>threading.MainThread</code>更容易。</p> <h2>检查线程名</h2> <p>主线程在<code>threading.py</code>中实例化,如下所示:</p> <pre><code>Thread.__init__(self, name="MainThread") </code></pre> <p>所以一个人可以</p> <pre><code>if threading.current_thread().name == 'MainThread' </code></pre> <p>但这个名字是固定的吗?我看到的其他代码检查了<code>MainThread</code>是否包含在线程名称中的任何位置。</p> <h2>存储起始线程</h2> <p>我可以在程序启动时存储对启动线程的引用,也就是说,在没有其他线程的情况下。这是绝对可靠的,但是对于这样一个简单的查询来说太麻烦了?</p> <p>有没有更简洁的方法来做这件事?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>这里的答案是旧的和/或坏的,所以这里有一个当前的解决方案:</p> <pre><code>if threading.current_thread() is threading.main_thread(): ... </code></pre> <p>此方法在Python3.4+之后可用。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
6 回答
尽管python中的表达式为false,但循环仍在运行
8 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
9 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
1 回答
尽管python字典包含了大量的条目,但它并没有增长
9 回答
尽管python说模块存在,为什么我会得到这个消息?
10 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
7 回答
尽管stdout和stderr重定向,但未捕获错误消息
6 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
1 回答
尽管tkinter上的变量已更改,但显示未更改
4 回答
尽管try/except使用Python进行单元测试时出现断言错误
9 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
5 回答
尽管url有效,Pandas仍读取url的\u csv错误
3 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
5 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
1 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
1 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
10 回答
尽管下载了i,但找不到型号“fr”
6 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
5 回答
尽管为所有行指定了权重,网格(0)仍不起作用
2 回答