Запитання з тегом «synchronization»

3
Протиставлення алгоритмів Петерсона та Декера
Я намагаюся зрозуміти алгоритми Петерсона і Деккера, які дуже схожі і демонструють багато симетрій. Я спробував сформулювати алгоритми на неофіційній мові так: Peterson's: "I want to enter." flag[0]=true; "You can enter next." turn=1; "If you want to enter and while(flag[1]==true&&turn==1){ it's your turn I'll wait." } Else: Enter CS! // …

1
Чи є реалізація апаратного блокування без тестування та встановлення чи заміни?
Замки, як правило, реалізуються за допомогою інструкцій на тестування та встановлення та заміни машинного рівня. Чи є інші реалізації, які не використовують їх? Крім того, чи можна сказати, що всі апаратні рішення на вирішенні проблеми критичного розділу можна класифікувати лише на три, а саме: переривання відключення, тестування та встановлення та …

3
Чому б ви використовували монітор замість семафору?
Зараз я відвідую паралельний курс програмування в моєму університеті, і ми нещодавно заговорили про концепцію монітора. Хоча я розумію необхідність взаємного виключення, я не розумію, для чого я б використовував монітор для цього. Наскільки я розумію, монітор гарантує, що точно один чи будь-який процес постійно знаходиться в критичному розділі. Ми …

3
Чому більшість імплементацій mutex несправедливі?
Я розумію, що більшість популярних реалізацій mutex (наприклад, std :: mutex в C ++) не гарантують справедливості - тобто вони не гарантують, що у випадках суперечки замок буде набутий потоками в тому порядку, який вони називається lock (). Насправді навіть можливо (хоча, сподіваємось, нечасто), що у випадках високої суперечності деякі …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.