Вопросы с тегом «concurrency»

Вопрос о проблемах параллелизма, таких как синхронизация и взаимоблокировки.

3
Зачем вам использовать монитор вместо семафора?
В настоящее время я посещаю курс параллельного программирования в моем университете, и недавно мы начали говорить о концепции монитора. Хотя я понимаю необходимость взаимного исключения, я не понимаю, почему я бы использовал для этого монитор. Насколько я понимаю, монитор гарантирует, что в критическом разделе всегда находится ровно один процесс или …

2
CCS процесс для диспенсера для напитков с двумя разными ценами
Диспенсер для напитков требует, чтобы пользователь вставил монету ( ), а затем нажмите одну из трех кнопок: запрашивает чашку чая , то же самое для кофе , и запрашивает возврат (т. е. автомат возвращает монету: ). Этот дозатор может быть смоделирован следующим процессом CCS :c¯c¯\bar cd¯tead¯tea\bar d_{\text{tea}}eteaeteae_{\text{tea}}r¯r¯\bar rb¯b¯\bar b M=defc.(dtea.e¯tea.M+dcoffee.e¯coffee.M+r.b¯.M)M=defc.(dtea.e¯tea.M+dcoffee.e¯coffee.M+r.b¯.M) …

3
Почему большинство реализаций мьютекса несправедливы?
Насколько я понимаю, большинство популярных реализаций мьютекса (например, std :: mutex в C ++) не гарантируют справедливости, то есть они не гарантируют, что в случаях конфликта блокировка будет получена потоками в том порядке, в котором они называется блокировка (). На самом деле, даже возможно (хотя мы надеемся, что это необычно), …

1
Формализмы в параллельном и / или распределенном программировании?
Мой опыт пришел из императивных языков, прежде всего C, C ++ и Python. Я подобрал Scala, Erlang и немного Haskell несколько лет спустя и с тех пор очень заинтересовался функциональным программированием и формализмом, лежащим в его основе. Я также заинтересован в параллельном и распределенном программировании и изучал формализмы, стоящие за …

3
Можно ли доказать безопасность потока?
Имея программу, состоящую из переменных и инструкций, которые модифицируют эти переменные, и примитива синхронизации (монитор, мьютекс, синхронизированный java или блокировка C #), можно ли доказать, что такая программа является поточно-ориентированной? Есть ли даже формальная модель для описания таких вещей, как безопасность потоков или условия гонки?

2
Учитывает ли алгоритм двухстороннего исключения Петерсона процессы умирания?
Я думаю , что в алгоритме Петерсона для взаимного исключения , если процесс первого , чтобы войти в критическую секцию должны были умереть или быть аннулирована, другой процесс будет петля навсегда, ожидая , чтобы войти в критическую секцию. На рисунке, если процесс 1 остановлен, остальные процессы, стоящие за процессом 1, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.