The OpenNET Project / Index page

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

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

"Управление потоками одного процесса из другого процесса"  
Сообщение от andrew_sch email(ok) on 28-Май-06, 11:26 
Стандарт POSIX threads не позволяют идентифицировать потоки процесса снаружи (из другого процесса), и соответственно не позволяют управлять ими (например, приоритетами). В LinuxThreads это было возможно (так как там потоки больше напоминали по поведению процессы). В других Unix-ах, как правило, есть дополнительный родной API, который позволяет идентифицировать потоки и работать с ними снаружи. А вот как быть в Linux с ядром 2.6 и NPLT? Может, кто подскажет?

Заранее благодарю!

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

 Оглавление

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


1. "Управление потоками одного процесса из другого процесса"  
Сообщение от DeadMustdie email(??) on 29-Май-06, 21:06 
>Стандарт POSIX threads не позволяют идентифицировать потоки процесса снаружи
>(из другого процесса),
>и соответственно не позволяют управлять ими (например, приоритетами). В LinuxThreads это
>было возможно (так как там потоки больше напоминали по поведению процессы).
>В других Unix-ах, как правило, есть дополнительный родной API, который позволяет
>идентифицировать потоки и работать с ними снаружи. А вот как быть
>в Linux с ядром 2.6 и NPLT? Может, кто подскажет?

Хм... где Вы такие UNIX'ы видели? Конечно, возможно, что я плохо смотрел - но мне
смутно припоминается, что ни в HP-UX, ни в Solaris, ни в Tru64 подобной ботвы не водится.

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

2. "Управление потоками одного процесса из другого процесса"  
Сообщение от andrew_sch email(ok) on 30-Май-06, 10:54 

>Хм... где Вы такие UNIX'ы видели? Конечно, возможно, что я плохо смотрел
>- но мне
>смутно припоминается, что ни в HP-UX, ни в Solaris, ни в Tru64
>подобной ботвы не водится.

В Solaris есть семейство функций thr_xxxx, в AIX есть семейство функций thread_xxxx.
Обычно это набор из thread_self() + thread_getsched() + thread_setsched + (...)
В AIX-e оно требует установки переменных окружения, чтобы потоки в процессах отображались на потоки ядра, но это детали.

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

3. "Управление потоками одного процесса из другого процесса"  
Сообщение от DeadMustdie email(??) on 30-Май-06, 13:36 
>В Solaris есть семейство функций thr_xxxx, в AIX есть семейство функций thread_xxxx.
>
>Обычно это набор из thread_self() + thread_getsched() + thread_setsched + (...)
>В AIX-e оно требует установки переменных окружения, чтобы потоки в процессах отображались
>на потоки ядра, но это детали.


Хм... про AIX ничего не знаю, а вот насчет Solaris:

thr_setprio(3C)

NAME

      thr_getprio, thr_setprio– access dynamic thread scheduling

SYNOPSIS

      cc –mt [ flag... ] file...[ library... ]

      #include <thread.h>

      int thr_setprio(thread_t target_thread, int priority);
      int thr_getprio(thread_t target_thread, int *priority);

DESCRIPTION

The thr_setprio() function dynamically changes the priority of the thread specified by
target_thread *within the current process* to the priority specified by priority. By
default, threads contend for synchronization objects based on fixed priorities that
range from 0, the least significant, to 127. The target_thread will receive
precedence by libthread over lower priority threads with respect to
synchronization object contention.


Ключевое словосочетание - "within the current process".

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

4. "Управление потоками одного процесса из другого процесса"  
Сообщение от andrew_sch email(ok) on 30-Май-06, 13:42 

>Хм... про AIX ничего не знаю, а вот насчет Solaris:
>Ключевое словосочетание - "within the current process".

:-) Да, согласен, документацию нужно курить внимательней :-)
На Солярке еще не пробовал. На AIX-e точно работает, установлено опытным путем. Когда дойдет до Solaris, добавлю результаты в эту тему.

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

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

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




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

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