2014-10-03 3 views
2

У меня есть приложение Qt для Linux, которое создает QThreads.Можно ли назвать QThread?

Я знаю, что при создании потока он наследует родительское имя, и я могу видеть его, когда я использую htop или ps ax -L.

Можно ли назвать эти QThreads и посмотреть их имена с помощью команды bash, например ps ax -L или htop?

ответ

1

Да просто дать имя объекта QThread перед запуском:

QThread* thr = new QThread(this); 

thr->setObjectName("worker thread"); 

в the docs:

Чтобы выбрать имя, которое ваш поток будет дан (как это определено командование ps -L на Linux, например), вы можете вызвать setObjectName() перед началом потока. Если вы не вызываете setObjectName(), имя , присвоенное вашему потоку, будет именем класса типа времени выполнения вашего объекта потока (например, «RenderThread» в случае примера Mandelbrot, поскольку это имя подкласса QThread). Отметьте , что в настоящее время он недоступен при выпуске релизов в Windows.

+0

спасибо за ответ ... Я уже пробовал этот путь без успеха, 'ps ax -L' не показывает имя, которое я ему дал, но имя« Target »... Любое объяснение? – Gappa

+0

вы назвали его * перед тем, как начать нить? –

+0

да, я сделал это: 't1 = new QThread(); t1-> setObjectName ("рабочий"); t1-> start(); ' – Gappa

Смежные вопросы