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

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

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

Ответить
The Chase
новенький
Сообщения: 13
Зарегистрирован: 04.10.2007 15:58:22

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

Сообщение The Chase »

пока чисто тестовая задача:
Имею приложение с двумя потоками
код их одинаков - 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
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Причина, судя по всему, вот в этом (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 секунды:
И еще я краем уха слышал, что без рутовых прав в Линуксе приоритет не поменяешь.
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

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

В сторону уменьшения приоритета - без проблем.
The Chase
новенький
Сообщения: 13
Зарегистрирован: 04.10.2007 15:58:22

Сообщение The Chase »

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

о сроках "имплементации" краем уха не слышали? :)
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

Честно признаться, даже не понимаю, что подразумевается под словом имплементация?
Гугель выдал что то про правоотношения каких то государств...
The Chase
новенький
Сообщения: 13
Зарегистрирован: 04.10.2007 15:58:22

Сообщение The Chase »

"...needs to be implemented" :)

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

P.S. А пока нашел решение через libc + nice()
Ответить