crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Thread ID
zss
  опции профиля:
сообщение 5.2.2010, 7:29
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


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

P.S. нужно узнать из другого потока
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 5.2.2010, 8:03
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Как вариант. Где то в главном потоке (например в функции main), сохранить значение QThread::currentThreadId() в глобальной переменной.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.2.2010, 12:13
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Конструктор QThread принимает указатель на родителя, если ты его передаёшь, то через него и спрашивай.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 5.2.2010, 12:25
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(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
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


QApplication::applicationPid();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zss
  опции профиля:
сообщение 5.2.2010, 16:24
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 112
Регистрация: 9.6.2009
Пользователь №: 815

Спасибо сказали: 0 раз(а)




Репутация:   0  


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

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

и не совпадает с currentThreadID из main
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 7.2.2010, 20:37
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


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

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 14.11.2019, 14:17