是否可以命名QThread?

Gap*_*ppa 2 qt multithreading rename

我有一个创建一些Linux Qt应用程序QThreads

我知道,当您创建线程时,它将继承父名称,当我使用htop或时可以看到它ps ax -L

是否可以通过bash命令(例如ps ax -L或)来命名这些QThread并查看其名称?htop

rat*_*eak 5

是的,只需在启动之前为QThread对象指定名称即可:

QThread* thr = new QThread(this);

thr->setObjectName("worker thread");
Run Code Online (Sandbox Code Playgroud)

文档中

要选择将给您的线程指定的名称(例如,在Linux上由命令ps -L标识),可以在启动线程之前调用setObjectName()。如果不调用setObjectName(),则给线程提供的名称将是线程对象的运行时类型的类名(例如,对于Mandelbrot Example,为“ RenderThread”,因为这是QThread子类)。请注意,这在Windows上的发行版中当前不可用。