Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Владение критической секцией   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.253 c
15-1350564105
neo1
2012-10-18 16:41
2013.03.22
Cisco выделил 5 млн рублей на стартап-проекты


15-1354302935
Use_R
2012-11-30 23:15
2013.03.22
Не могу нарисовать сетку крест на крест.


15-1346501466
картман
2012-09-01 16:11
2013.03.22
арифметика


15-1352269270
Chorus
2012-11-07 10:21
2013.03.22
Вычисление высот в произвольном треугольнике


15-1349167256
AV
2012-10-02 12:40
2013.03.22
Теоретически можно брать байты из файла и выполнять как код?