|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.02.2020, 23:12 | #1 |
Пользователь
Регистрация: 26.02.2011
Сообщений: 12
|
Блокирующая очередь без lock и Mutex на SemaphoreSlim.
Блокирующая кольцевая очередь. Будет ли правильно работать такой код? Нужен ли здесь Volatile.Read, Volatile.Write?
Идея такая. Два SemaphoreSlim не дают одновременно писать и читать один и тот же элемент массива. Вроде как, все нужные барьеры памяти тут есть. Своевременное обновление значения для каждого потока (кэш ядер) обеспечивают Volatile.Read, Volatile.Write. Или тут можно без них? Или для массивов это работать не будет так? Псевдокод: Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Mutex | Abdura | Python | 0 | 24.04.2019 20:45 |
c# одну очередь однозначных чисел, а вторую очередь двузначных чисел. Перемножьте соответственные элементы двух очередей и организуйте третью очередь | Maksim221 | Фриланс | 2 | 09.06.2018 18:22 |
mutex | goluzov | Общие вопросы C/C++ | 3 | 06.01.2014 09:21 |
вводим 15 элементов в очередь, затем выводим на экран эту очередь и добавил в очередь еще один элемент. Потом удаляем любой элемен | Xumera | C++ Builder | 2 | 07.12.2013 13:56 |
Использование mutex | Sparky | Помощь студентам | 1 | 29.05.2010 16:24 |