Страниц: [1]
  Печать  
Автор Тема: Потоки  (Прочитано 6633 раз)
faramir
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« : Ноября 29, 2004, 03:39:42 pm »

Пытаюсь создать поток. Вместо этого получаю от 2-х до 65535 - в зависимости от атрибутов. Где подробнее узнать, что это за атрибуты?
Записан
MikeP
Участник
*
Offline Offline

Сообщений: 6


Просмотр профиля WWW
« Ответ #1 : Ноября 29, 2004, 04:01:30 pm »

что значит "пытаюсь создать поток"?
как Вы это делаете...
текст в студию...
Записан
faramir
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #2 : Ноября 29, 2004, 04:05:23 pm »

Пожалуйста:

pthread_attr_t attr;
pthread_attr_init (&attr);
pthread_attr_setscope( &attr, PTHREAD_SCOPE_SYSTEM );
pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_JOINABLE);
pthread_attr_setinheritsched (&attr, PTHREAD_EXPLICIT_SCHED);
pthread_attr_setschedpolicy (&attr, SCHED_RR);
attr.param.sched_priority = 8;

pthread_create (NULL, &attr, addprocess, (void*) 123);
Записан
u-gen
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #3 : Ноября 29, 2004, 04:36:03 pm »

А 65535 чего вы получаете?

faramir
pthread_attr_t attr;
pthread_attr_init (&attr);
-----------
pthread_create (NULL, &attr, addprocess, (void*) 123);

Ну и чего выдает этот код?
А вас не смущает, что вы передаете адрес 123? Либо NULL, либо переменную какую заведите. IMHO, by default, все потоки JOINABLE и PTHREAD_SCOPE_SYSTEM. А для установки приоритета - есть
pthread_attr_setschedparam().
Записан
olej
QOR.Team
****
Offline Offline

Сообщений: 42



Просмотр профиля
« Ответ #4 : Ноября 30, 2004, 02:17:56 am »

Пытаюсь создать поток. Вместо этого получаю от 2-х до 65535 - в зависимости от атрибутов. Где подробнее узнать, что это за атрибуты?

Посмотрите здесь:
http://qnxclub.net/files/articles/pthread/pthread.pdf
- там более 100 стр. текста исключительно на интересующие вас вопросы. Это далеко не последняя редакция, но ... достаточно. Там примеры кода - всё выверено, всё работает...
Записан
olej
QOR.Team
****
Offline Offline

Сообщений: 42



Просмотр профиля
« Ответ #5 : Ноября 30, 2004, 02:20:42 am »

А вас не смущает, что вы передаете адрес 123?

Нет, это нормальн:

pthread_create (NULL, &attr, addprocess, (void*) 123);

Это, конечно, "трюкачество", но достаточно широко употребимое... если в функции потока с этим значением, соответсвенно, правильно обращаться .
Записан
Страниц: [1]
  Печать  
 
Перейти в: