setObjectName未在Qt中设置线程名称

时间:2014-08-11 09:29:43

标签: linux qt qthread qt4.8

我在Linux上使用Qt 4.8。我有继承类ZoneManagerThread的类QThread。在这个类的构造函数中,我调用以下例程:

this->setObjectName("ZoneManagerThread");

但是当我执行ps -eLf时,我没有看到任何名为ZoneManagerThread的帖子。

这是什么问题?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

在linux中,你有一个最大线程长度--16个字节。你的帖子名是18。

请参阅:change thread name on linux (htop)

您可以选择较小的线程名称并重新测试吗? (在我的测试中,线程名称被截断了...但我直接使用posix API ...我不确定Qt4在这方面做了什么。)

答案 1 :(得分:0)

再试一次,根本不设置对象名称。类名应该用于线程名称。如果没有,则意味着您的平台不支持线程名称,或者类名太长。