Вопросы по теме 'interlocked'

Гарантирует ли Interlocked видимость для других потоков в C # или мне все еще нужно использовать volatile?
Я читал ответ на похожий вопрос , но я все еще немного запутался ... У Абеля был отличный ответ, но я не уверен в этом: ... объявление переменной volatile делает ее изменчивой для каждого отдельного доступа. Невозможно заставить это поведение...
1025 просмотров

С# принципиально не переносимый?
Я уже некоторое время использую C# и недавно начал работать над добавлением параллелизма в свой побочный проект. Итак, согласно Microsoft, читает и записывает в целые числа и даже числа с плавающей запятой. атомарны Я уверен, что эти требования...
3450 просмотров

С# Interlocked работает как механизм блокировки?
Пока я читал о ReaderWriterLockSlim механизме блокировки, был один парень , который предположил, что Interlock функции можно использовать для более тонкой блокировки Кроме того, я нашел здесь еще один ответ от Марка: ... Записи вносят...
1580 просмотров
schedule 17.02.2024

Чтение int, которое обновляется Interlocked в других потоках
(Это повторение: Как правильно читать Interlocked. Увеличенное поле int? но, прочитав ответы и комментарии, я все еще не уверен в правильном ответе.) Есть код, которым я не владею и не могу изменить, чтобы использовать блокировки, увеличивающие...
17109 просмотров

С# заблокированный декремент для короткого значения
Я провожу некоторые эксперименты, и мне нужно атомарно уменьшить 16-битное (короткое) значение в С#. Значение хранится в неуправляемой памяти, и не составляет труда убедиться, что значение выровнено по 16-битной границе виртуальной памяти. Я...
105 просмотров
schedule 05.06.2022

Есть ли способ выполнить атомарную операцию (чтение-обновление-запись) ИЛИ над двумя байтами в С#?
Я просмотрел Метод Interlocked.Or в .NET 5. Он отлично подходит для двух целых значений. Есть ли способ выполнить эквивалент этого для двух отдельных значений байта? Я просмотрел документацию и вижу, что InterlockedOr8 существует в winnt.h ,...
87 просмотров
schedule 27.03.2023