The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"как получить список всех текущих потоков"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"как получить список всех текущих потоков"  
Сообщение от vasyakvv (ok) on 09-Сен-07, 21:26 
Доброго времени суток всем!
Есть такая проблема: в многопоточной программе нужно завершить все потоки(pthread_cancel(), pthread_join()) по сигналу. Как для этого получить список всех работающих потоков?(tid'ы) у очень не хочется запоминать их по мере создания. Может есть такая функция, выдающая все потоки?
заранее спасибо.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "как получить список всех текущих потоков"  
Сообщение от int_0dh on 10-Сен-07, 07:05 
>Доброго времени суток всем!
>Есть такая проблема: в многопоточной программе нужно завершить все потоки(pthread_cancel(), pthread_join()) по
>сигналу. Как для этого получить список всех работающих потоков?(tid'ы) у очень
>не хочется запоминать их по мере создания. Может есть такая функция,
>выдающая все потоки?
>заранее спасибо.

нету такой функции.
"Если тебе нужен PL/I - ты знаешь где его взять" (c)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "как получить список всех текущих потоков"  
Сообщение от Michelnok (ok) on 10-Сен-07, 15:24 
>не хочется запоминать их по мере создания

А надо...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "как получить список всех текущих потоков"  
Сообщение от Аноним on 10-Сен-07, 15:36 
>Доброго времени суток всем!
>Есть такая проблема: в многопоточной программе нужно завершить все потоки(pthread_cancel(), pthread_join()) по
>сигналу.

Хорошие сигналы (TERM,ABRT,KILL) должны сами приходить всем потокам (при отправке процессу).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "как получить список всех текущих потоков"  
Сообщение от vic (??) on 10-Сен-07, 15:40 
>Доброго времени суток всем!
>Есть такая проблема: в многопоточной программе нужно завершить все потоки(pthread_cancel(), pthread_join()) по
>сигналу. Как для этого получить список всех работающих потоков?(tid'ы) у очень
>не хочется запоминать их по мере создания. Может есть такая функция,
>выдающая все потоки?
>заранее спасибо.

Работающий поток может уже не существовать на момент выхода из такой функции если бы она был бы, поэтому ее и нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "как получить список всех текущих потоков"  
Сообщение от vasyakvv (ok) on 11-Сен-07, 00:45 
Вообще то мне нужно закрыть все потоки по получении сигнала int, и разослать клиентам сообщния о зарытии соединения, может кто подскажет, как это сделать?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "как получить список всех текущих потоков"  
Сообщение от dronord (ok) on 11-Сен-07, 10:39 
В голову пришло два способа:
1. Иметь в запасе второй, управляющий сокет. Скорее всего UDP.
2. Сделать сокет глоб. переменной и с помощью IPC, чтобы не мешать основной работе сокета, отправить сообщение клиентам.

Вообще, мне оба варианта не нравятся =)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру