Невероятные приключения в коде

Перевод блога Эрика Липперта

Browse by Tags

Tagged Content List
  • Blog Post: Атомарность, изменчивость и неизменяемость – это разные вещи. Часть 3

    Так что же означает ключевое слово «volatile»? На этот счет есть множество заблуждений. Прежде всего, давайте начнем с простого факта: правила языка C# были спроектированы таким образом, чтобы любые операции чтения или записи volatile -переменных были атомарными . (Конечно же, обратное утверждение не...
  • Blog Post: Атомарность, изменчивость и неизменяемость – это разные вещи. Часть 2

    В прошлый раз мы выяснили, что «атомарные» чтение и запись переменной означает, что в многопоточном окружении переменная никогда не будет содержать «частично измененное» значение. Состояние переменной изменяется из одного в другое напрямую без промежуточного состояния. Кроме того, я упомянул, что создание...
  • Blog Post: Атомарность, изменчивость(*) и неизменяемость – это разные вещи. Часть 1

    Я получаю довольно много вопросов об атомарности (atomicity), изменчивость (volatility), потокобезопасности, неизменяемости (immutability) и других подобных вещах; и эти вопросы показывают непонимание этих тем. Давайте сделаем шаг назад и рассмотрим эти идеи, чтобы увидеть разницу между ними. Прежде...
  • Blog Post: Поаккуратнее с топором. Часть 2. А как насчет исключений?

    Предположим, вы завершаете выполнение рабочего потока, о чем мы говорили в прошлый раз, и поток генерирует исключение. Что будет в этом случае? Неприятности, вот что будет. Что же можно сделать в этой ситуации? Как и в предыдущем случае, лучше всего вообще не попадать в эту ситуацию: пишите код в рабочих...
  • Blog Post: Поаккуратнее с топором. Часть 1: Нужно ли мне указывать таймаут?

    Не так давно, примерно шесть лет назад, я рассказывал немного о том, как решить, стоит ли продолжать ждать автобус или бросить это дело и пойти пешком. Эта статья привела к весьма интересному обсуждению на старом форуме Джоэла Спольски (Joel Spolsky). Но что если выбор состоит не в том, чтобы «подождать...
  • Blog Post: Что вы называете «потокобезопасным»?

    Предостережение: я не эксперт по многопоточному программированию. На самом деле, я бы даже не стал утверждать, что я в нём компетентен . За всю мою карьеру, необходимость написать код, который запускает второй рабочий поток, возникала, вероятно, менее полудюжины раз. Так что воспринимайте всё, что я...
Page 1 of 1 (6 items)