Приоритет потоков под Linux...

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Приоритет потоков под Linux...

Сообщение The Chase » 29.12.2008 17:27:02

пока чисто тестовая задача:
Имею приложение с двумя потоками
код их одинаков - sleep(10) в конечном цикле...

однако первый имеет thread.priority := tpidle и стартует на sleep(1000) раньше...
второй же имеет thread.priority := tpnormal (или tphigher, tpTimeCritical - все пробовал)...

под Windows получаю, то что теоритически верно - tpHigher поток в ходе работы догоняет, перегоняет и завершается раньше tpIdle потока... под Linux (SUSE Ent Serv 10) - с учетом погрешностей, tpIdle поток завершается на теже sleep(1000) раньше... тоесть приоритеты потоков на их скорость не влияют... а хотелось бы...

И не должно? Причины? Идеи?

Добавлено спустя 2 минуты 12 секунд:
Lazarus 0.9.24 + FPC 2.2.0
The Chase
новенький
 
Сообщения: 13
Зарегистрирован: 04.10.2007 15:58:22

Re: Приоритет потоков под Linux...

Сообщение Sergei I. Gorelkin » 29.12.2008 18:20:12

Причина, судя по всему, вот в этом (rtl\unix\cthreads.pp начиная со строки 357):
Код: Выделить всё
    function  CThreadSetPriority (threadHandle : TThreadID; Prio: longint): boolean; {-15..+15, 0=normal}
    begin
      {$Warning ThreadSetPriority needs to be implemented}
    end;

  function  CThreadGetPriority (threadHandle : TThreadID): Integer;
    begin
      {$Warning ThreadGetPriority needs to be implemented}
    end;


Добавлено спустя 2 минуты 4 секунды:
И еще я краем уха слышал, что без рутовых прав в Линуксе приоритет не поменяешь.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Приоритет потоков под Linux...

Сообщение serg_iv » 29.12.2008 18:46:22

И еще я краем уха слышал, что без рутовых прав в Линуксе приоритет не поменяешь.

В сторону уменьшения приоритета - без проблем.
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: Приоритет потоков под Linux...

Сообщение The Chase » 29.12.2008 19:23:37

Спасибо
Действительно :)
Я как-то такого не ожидал... искал в самом линухе подвох...

о сроках "имплементации" краем уха не слышали? :)
The Chase
новенький
 
Сообщения: 13
Зарегистрирован: 04.10.2007 15:58:22

Re: Приоритет потоков под Linux...

Сообщение serg_iv » 29.12.2008 20:25:15

Честно признаться, даже не понимаю, что подразумевается под словом имплементация?
Гугель выдал что то про правоотношения каких то государств...
serg_iv
постоялец
 
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Re: Приоритет потоков под Linux...

Сообщение The Chase » 29.12.2008 20:32:08

"...needs to be implemented" :)

тоесть когда будет реализовано?.. если будет...

P.S. А пока нашел решение через libc + nice()
The Chase
новенький
 
Сообщения: 13
Зарегистрирован: 04.10.2007 15:58:22


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru