Порядок захвата mutex'ов.

From
Alexander Makarov (2:5030/1147)
To
igor@paco.net ()
Date
2003-05-28T20:52:08Z
Area
RU.UNIX.PROG
Hi, igor@paco.net!
"Re: Порядок захвата mutex'ов.?" - спрашивает igor@paco.net у своего отражения в луже и злобно смотрит на прохожих.

 >> Что-то я не пойму, зачем это. Есть же семафоры. Инициализируем в нужное
 >> число
 i> В оригинальном постинге было сделано через мутексы, и сделано неправильно.
 i> На самом деле вопрос был не о мутекс/семафор а о том, как обеспечить FIFO
 i> при обслуживании клиентов, по крайней мере я так понял. Ответ был - через
 i> очередь заданий.

Вот с обычными семафорами как раз и будет фифо - кто первый уснул при достижении семафором нуля, тот первый и проснётся при увеличении.

 >> потоков, каждый поток при запуске делает semop(-1). Всё. Когда значение
 >> дойдёт до нуля, очередной поток будет спать до увеличения. Нафига тут
 >> какие-то мутексы?
 i> Наверное - да. Но, с другой стороны: пара mutex и cond_var и легче и гибче
 i> чем семафоры. На мой взляд, нужно иметь серьезные основания для того, что-бы
 i> использовать семафоры, имея в руках нечто более хорошее.

Ню-ню.


                                                     DeltaFlight
--- GoldED+/W32 1.1.5-030104
 * Origin: Тяжело в болтанке, легко в штилю. (2:5030/1147)