Основные принципы, лежащие в основе хорошего кодирования в последовательных и мультипереплетенных программах, не так отличаются.

В обоих случаях вся кодовая база должна систематически защитить инварианты, которые необходимы в другом месте в программе. Различие - то, что, поскольку рисунок 2 показывает, защита инвариантов программы более сложна в мультипереплетенном случае. В результате это требует, чтобы значительно более высокая степень дисциплины построила правильную мультипереплетенную программу. Часть этой дисциплины обеспечивает через инструменты, любят мониторы, что все разделенные с нитью, читайте - пишут, что данные защищены блокировками. Другая часть тщательно проектирует, какая память защищена, который блокировка и управление дополнительной сложностью, которая блокирует, неизбежно добавляют к программе. Как в последовательной программе, хорошие проекты являются обычно самыми простыми, и для мультипереплетенных программ это означает иметь наименьшее количество числа блокировок, которые достигают необходимого параллелизма. Если сохраняете дизайн блокирования простым и систематически следуете за дизайном блокирования, можете написать мультипереплетенные программы без гонок.

Ванс Моррисон является архитектором компилятора для.NET времени выполнения в Microsoft, где он был включен в дизайн.NET времени выполнения начиная с его начала. Он стимулировал дизайн для.NET Intermediate Language (IL) и был лидерством для своевременной (JIT) команды компилятора.