|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Slava Astashonok 2:5020/400 16 Mar 2003 04:08:25 To : Vitaly Lugovsky Subject : Re: списки, деревья и multithreading -------------------------------------------------------------------------------- Vitaly Lugovsky wrote: [...] >>n+1. В первую очередь эта нить должна блокировать элемент n, а так как >>она будет модифицировать указатели в элементах n-1 и n+1, то ей еще >>нужно будет блокировать и эти элеметы. Предположим, что в этот момент >>другой нити вздумалось удалять элемент n-1: она заблокировала его, n-2 >>и остановилась при попытке блокировки n (он уже заблокирован). Первая >>нить продолжает работу и останавливается при попытке блокировки n-1. >>Получили deadlock. > > > По mutex-у на элемент? А тухес не лопнет? Достаточно глобального лока. Конечно, глобальный мутекс - это железный способ, точнее дубовый ;-) Какой тогда смысл в мультипотоковсти - никакого параллелизма не будет. >>Сейчас я использую способ, заключающийся в хранении данных в нескольких >>независимых списках, и блокирую любой из них по мере необходимости, >>однако я этим неудовлетворен. Тем более, что в дальнейшем списки я хочу >>заменить сбалансированным деревом. Hаклевывается еще один способ, но я с >>ним пока подожду. > > > Очередь потребления, в которую процессы складывают запросы на вставку в > дерево. Тот процесс, который очередь обрабатывает, на момент перезаписи его > блокирует. Должно быть достаточно эффективным. Hо лучше подумать - а на фига > вообще такое понадобилось, и не было ли обходного пути. А в чем может заключаться обходной путь - вообще избегать использования деревьев в мультипотоковых программах? Конечно, я понимаю, что все зависит от каждой конкретной задачи, но, захотелось, вот, как-то обобщить - и не получается. -- Testing can show the presense of bugs, but not their absence. -- Dijkstra --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/247026e1ead1f.html, оценка из 5, голосов 10
|