|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Slava Astashonok 2:5020/400 17 Mar 2003 18:48:38 To : Vitaly Lugovsky Subject : Re: списки, деревья и multithreading -------------------------------------------------------------------------------- [...] >>А в чем может заключаться обходной путь - вообще избегать использования >>деревьев в мультипотоковых программах? > > > Hет конечно же. Во первых, избегать мутабельных объектов везде, где это > возможно (а теоретически таки везде и возможно). Во вторых, подумать, а на > фига их параллельно читать/писать. > > Поскольку мне не известны условия твоей задачи, ничего более конкретного > сказать не могу. В моем конкретном случае лишняя нить возникла из-за необходимости выставления приоритетов. Данные поступают достаточно быстро (нити-приемнику даже пришлось установить realtime шедулинг). Сразу класть их в список нельзя - можно "уснуть" на мутексе, занятом нитью-обработчиком и потерять из-за этого новые данные, поэтому они кладутся в кольцевой буфер-приемник. А эта "лишняя" нить как раз и занимается тем, что как только список становится доступным, переносит данные в него. Вчера я исправил несколько глупостей, что позволит мне производить все модификации списка только одной нитью, сохранив при этом приемлимое время реакции на вновь прешедшие данные. Так что, можно считать мой вопрос закрытым. >>Конечно, я понимаю, что все >>зависит от каждой конкретной задачи, но, захотелось, вот, как-то >>обобщить - и не получается. > > > Hе стоит ТАКИЕ вещи обобщать. > Теперь вынужден согласиться. Спасибо всем откликнувшимся. -- When I woke up this morning, my girlfriend asked if I had slept well. I said, "No, I made a few mistakes." -- Steven Wright --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/24702be573c79.html, оценка из 5, голосов 10
|