Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизВладение критической секцией Найти похожие ветки
← →
AV © (2012-02-28 09:51) [0]Поток П владеет секцией до момента времени В.
Потоки п1, п2, п3 пытаются в нее же войти в моменты времени в1,в2,в3
, где в1 < в2 < в3 < В
Если потоки овладеют секцией в порядке очереди п1, п2, п3, то почему так, а не, ну, скажем, п2, п3, п1?
← →
Сергей М. © (2012-02-28 10:01) [1]Что-то неувязка какая-то ..
П не может владеть секцией, пока ее не отпустит какой-то из потоков п1,п2,п3 , завладевший ею ранее, судя по в1 < в2 < в3 < В
> Если потоки овладеют секцией в порядке очереди п1, п2, п3, то почему так
Именно потому что в1 < в2 < в3
← →
RWolf © (2012-02-28 10:03) [2]
> Если потоки овладеют секцией в порядке очереди п1, п2, п3,
> то почему так, а не, ну, скажем, п2, п3, п1?
неасколько я знаю, такое поведение не регламентируется, поэтому я бы на него не рассчитывал.
← →
AV © (2012-02-28 10:11) [3]> Сергей М. © (28.02.12 10:01) [1]
не,
> Поток П УЖЕ владеет секцией до момента времени В.
> Именно потому что в1 < в2 < в3
т.е. он где то завку что ли устанавливает? т.е. кто ранее заявил, тот и первее будет?
← →
AV © (2012-02-28 10:14) [4]
> неасколько я знаю, такое поведение не регламентируется,
> поэтому я бы на него не рассчитывал
вот я и задумался.
По моему тоже. Но это критично. т.е. надо ли предусмотреть вариант, что не важно когда ты подал заявку на владение - получишь тогда, когда ОС будет это угодно.
Или же приоритет есть.
← →
Dimka Maslov © (2012-02-28 10:46) [5]Тогда надо уже не с критическими секциями работать, а с семафорами или событиями. Скажем, есть управляющий поток, рабочие потоки, для которых есть события возобновления работы, и общее для всех событие прекращения работы. Подойдя к "критической секции" рабочий поток информирует о начале ожидания управляющий и начинает ждать своего события. Управляющий поток, следит за очередью, выставляет соотв. событие и ждёт события завершения рабочего потока. Дождавшись его снова лезет в очередь и поднимает очередной событие. Как-то так надо в моём понимании поступать, если очерёдность важна.
← →
AV © (2012-02-28 11:02) [6]
> Dimka Maslov © (28.02.12 10:46) [5]
ну да.
Но если гарантируется
> > Именно потому что в1 < в2 < в3
то зачем..
+ мне пока легче на независимость порядка владения переписать :)
← →
AV © (2012-02-28 11:04) [7]по экспериментам, пока получается 1,2,3 или 1,2 или 1,3 или 2,3
, короче, по очереди пока все.
← →
Eraser © (2012-02-28 11:13) [8]> [0] AV © (28.02.12 09:51)
читай MSDN там все написано. от ОС еще зависит.
← →
AV © (2012-02-28 11:27) [9]да.
When a thread owns a critical section, it can make additional calls to EnterCriticalSection or TryEnterCriticalSection without blocking its execution. This prevents a thread from deadlocking itself while waiting for a critical section that it already owns. To release its ownership, the thread must call LeaveCriticalSection one time for each time that it entered the critical section. There is no guarantee about the order in which waiting threads will acquire ownership of the critical section.
но спросить же, привычнее :)
к тому же ,комьюнити поддерживается, так сказать :))
Всем спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.069 c