2014-10-03 6 views
2

나는 QThreads을 생성하는 Linux Qt 응용 프로그램을 가지고 있습니다.QThread의 이름을 지정할 수 있습니까?

스레드를 만들면 스레드가 부모 이름을 상속받으며 htop 또는 ps ax -L을 사용할 때 볼 수 있다는 것을 알고 있습니다.

이러한 QThread의 이름을 확인하고 ps ax -L 또는 htop과 같은 bash 명령을 사용하여 이름을 볼 수 있습니까?

예 그냥 시작하기 전에 QThread 객체에 이름을 부여

답변

1

: 명령에 의해 식별 스레드가 (주어집니다 이름을 선택하려면

:

QThread* thr = new QThread(this); 

thr->setObjectName("worker thread"); 

the docs의를 ps -L, Linux의 경우), 스레드를 시작하기 전에 setObjectName() 을 호출 할 수 있습니다. setObjectName()을 호출하지 않으면 스레드에 부여 된 이름이 스레드 객체의 런타임 유형 의 클래스 이름이됩니다 (예 : 만델 브로 예제의 경우 "RenderThread"). QThread 서브 클래스의 이름). 은 현재 Windows에서 릴리스 빌드와 함께 사용할 수 없습니다.

+0

답변 해 주셔서 감사합니다 ... 이미 성공하지 못한 채 그 방법을 시도해 보았습니다. 'ps ax -L'에는 내가 지정한 이름이 표시되지 않지만 '대상'이름 ... 설명이 있습니까? – Gappa

+0

스레드를 시작하기 전에 * 이름을 지정 했습니까? –

+0

예, 제가했습니다 :'t1 = new QThread(); t1-> setObjectName ("worker"); t1-> start(); ' – Gappa

관련 문제