Чтобы охранять раздел кода от повторного или одновременного выполнения, я могу использовать блокированные функциональные возможности. Охрана от повторного исполнения необходима для таких вещей, как Dispose () , и защита от одновременного выполнения является фундаментальной частью высокоэффективного многопоточного чтения.
Первоначально я использовал взаимосвязанный. Increment () , потому что если эффективно записывает общее количество вызовов и, следовательно, обладает большей диагностической мощностью, чем варианты, основанные на обменных операциях. Тем не менее, было интересно, может ли Interlocked.comPareExChange () не быть лучшим вариантом в отношении минимизации шума шины процессора и межядерных помех, связанных с операциями обновления межядерного кэша. летучая запись так же, как с блокировкой. Кроме того, общее количество выполнений в использовании, таких как Dispose () , будет сравнительно небольшим, поэтому, кого это волнует. В этом случае может быть огромное количество неудачных попыток выполнения, и для этого не будет никакой летучей записи, если будет использоваться Interlocked.comPareExChange () , давая ему преимущество над двумя другими параметрами. Кроме того, в этом случае Interlocked.increment () имеет дополнительное недостаток, что даже неудачные попытки сбора нуждаются Заинтересованные в игре. Это могло привести к неоправданному предпочтению решений, включающих взаимосвязанный приращение и уменьшение, а не сравнивать с высвобождением с помощью летучей записи.
Подробнее здесь: https://stackoverflow.com/questions/797 ... terference
БУДЕТ БУДЕТ. ⇐ C#
Место общения программистов C#
1754741765
Anonymous
Чтобы охранять раздел кода от повторного или одновременного выполнения, я могу использовать блокированные функциональные возможности. Охрана от повторного исполнения необходима для таких вещей, как Dispose () , и защита от одновременного выполнения является фундаментальной частью высокоэффективного многопоточного чтения.
Первоначально я использовал взаимосвязанный. Increment () , потому что если эффективно записывает общее количество вызовов и, следовательно, обладает большей диагностической мощностью, чем варианты, основанные на обменных операциях. Тем не менее, было интересно, может ли Interlocked.comPareExChange () не быть лучшим вариантом в отношении минимизации шума шины процессора и межядерных помех, связанных с операциями обновления межядерного кэша. летучая запись так же, как с блокировкой. Кроме того, общее количество выполнений в использовании, таких как Dispose () , будет сравнительно небольшим, поэтому, кого это волнует. В этом случае может быть огромное количество неудачных попыток выполнения, и для этого не будет никакой летучей записи, если будет использоваться Interlocked.comPareExChange () , давая ему преимущество над двумя другими параметрами. Кроме того, в этом случае Interlocked.increment () имеет дополнительное недостаток, что даже неудачные попытки сбора нуждаются Заинтересованные в игре. Это могло привести к неоправданному предпочтению решений, включающих взаимосвязанный приращение и уменьшение, а не сравнивать с высвобождением с помощью летучей записи.
Подробнее здесь: [url]https://stackoverflow.com/questions/79730615/interlocked-code-section-guard-with-minimal-inter-core-interference[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия