Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
Как узнать запущен ли thread ?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как узнать запущен ли thread ? (Прочитано 37739 раз)
0 Пользователей и 1 Гость смотрят эту тему.
demon051
Помогающий
Offline
Как узнать запущен ли thread ?
«
:
01-03-2018 11:26 »
Всем привет.
Запускаю нить
pthread_create(_listenerThread, NULL, threadFunction, &data);
можно ли узнать в произвольный момент времени из корневого процесса запущена ли данная нить или завершила работу?
т.е. ее состояние.
Записан
darkelf
Молодой специалист
Offline
Re: Как узнать запущен ли thread ?
«
Ответ #1 :
01-03-2018 13:53 »
pthread_kill()/pthread_join(). Первая с нулевым вторым параметром проверит существование потока, если поток завершился, то второй функцией можно получить статус его завершения.
Записан
sss
Специалист
Offline
Re: Как узнать запущен ли thread ?
«
Ответ #2 :
01-03-2018 16:19 »
Вообще как бы хэндлы потоков это объекты диспетчера. То есть, если в сигнальном состоянии, то завершен.
Не увидел что unix.. Там такой роскоши нет..
«
Последнее редактирование: 01-03-2018 16:41 от sss
»
Записан
while (8==8)
demon051
Помогающий
Offline
Re: Как узнать запущен ли thread ?
«
Ответ #3 :
02-03-2018 05:44 »
Цитата: darkelf от 01-03-2018 13:53
pthread_kill()/pthread_join(). Первая с нулевым вторым параметром проверит существование потока, если поток завершился, то второй функцией можно получить статус его завершения.
какая-то странная ситуёвина: pthread_kill не определена в моем pthread.h
Записан
RXL
Технический
Администратор
Offline
Пол:
Re: Как узнать запущен ли thread ?
«
Ответ #4 :
02-03-2018 06:26 »
http://man7.org/linux/man-pages/man3/pthread_kill.3.html
Записан
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
demon051
Помогающий
Offline
Re: Как узнать запущен ли thread ?
«
Ответ #5 :
02-03-2018 06:36 »
Цитата: RXL от 02-03-2018 06:26
http://man7.org/linux/man-pages/man3/pthread_kill.3.html
ой
спасибо.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
Как узнать запущен ли thread ?
Загружается...