Заблокирован
|
|
1 | |
Мьютексы и критические секции23.03.2016, 22:46. Показов 1241. Ответов 3
Метки нет (Все метки)
Скажите пожалуйста чем чисто идейно отличаются мьютексы и критические секции? И то и то вроде как делает код доступным для выполнения только одному потоку. Так в чем разница?
0
|
23.03.2016, 22:46 | |
Ответы с готовыми решениями:
3
Критические секции Критические секции Критические секции в классах Критические секции в потоках |
1824 / 732 / 99
Регистрация: 01.10.2012
Сообщений: 3,752
|
|
24.03.2016, 08:39 | 2 |
Мьютекс более конкретен (хотя они тоже бывают разные). Критическая секция - более общий механизм/средство которое скрывает детали реализации. Напр возможно какое-то время нитка будет прокручиваться, потом с yield и только потом будет усыплена. Возможно эти детали реализации изменятся в след версии ОС - но Вас это не должно волновать, Вы пользуетесь общим механизмом.
0
|
Модератор
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,474
|
|
24.03.2016, 16:39 | 3 |
Различные реализации критических секций могут отличаться по возможностям и скорости работы.
Например, в C# для эксклюзивной блокировки можно использовать классы: Monitor, Mutex, SpinLock. Есть ещё классы для других видов блокировок.
0
|
Ушел с форума
|
|
25.03.2016, 11:54 | 4 |
Чисто идейно - ничем.
Различия в эффективности и/или целесообразности использования в тех или иных ситуациях. Например, в Windows: - критическая секция действует только в пределах процесса, мьютекс может действовать в пределах всей системы; - мьютекс может быть именованным и иметь настройки доступа, а критическая секция - нет; - "холостой" проход через критическую секцию - очень дешевая операция, т.к. не содержит системных вызовов. Про мьютекс такое сказать нельзя. - и т.д.
0
|
25.03.2016, 11:54 | |
25.03.2016, 11:54 | |
Помогаю со студенческими работами здесь
4
Потоки. Критические секции ThreadPool и критические секции stm32f407 + критические секции Deadlock и критические секции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |