Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Thread ID

Автор: zss 5.2.2010, 7:29

Как узнать ID первичного(главного) потока ?
что-то не могу до него дотянуться...

P.S. нужно узнать из другого потока

Автор: BRE 5.2.2010, 8:03

Как вариант. Где то в главном потоке (например в функции main), сохранить значение QThread::currentThreadId() в глобальной переменной.

Автор: Litkevich Yuriy 5.2.2010, 12:13

Конструктор QThread принимает указатель на родителя, если ты его передаёшь, то через него и спрашивай.

Автор: zss 5.2.2010, 12:25

Цитата(BRE @ 5.2.2010, 8:03) *
Как вариант. Где то в главном потоке (например в функции main), сохранить значение QThread::currentThreadId() в глобальной переменной.

что-то смущает меня глобальная переменная

Неужели нельзя как через QApplication дотянуться ?

Цитата(Litkevich Yuriy @ 5.2.2010, 12:13) *
Конструктор QThread принимает указатель на родителя, если ты его передаёшь, то через него и спрашивай.


через parent

Автор: DEADHUNT 5.2.2010, 12:41

QApplication::applicationPid();

Автор: zss 5.2.2010, 16:24

Цитата(DEADHUNT @ 5.2.2010, 12:41) *
QApplication::applicationPid();

странно - он quint64...

и не совпадает с currentThreadID из main

Автор: DIMEDROLL 7.2.2010, 20:37

наверное потому что applicationPid это айдишник процесса, а не потока ;)
currentThreadID в доке вообще не рекомендуют использовать...
скажи сначала какой конкретно айдишник тебе нужен?
если тебе нужен результат именно currentThreadID() то вызывай эту функцию в создающем потоке и передавай ее результат в конструктор нового потока

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)