Много ниток

За двумя зайцами погонишься - ни одного ни за что не поймаешь. При разработке программного обеспечения это не совсем так, но погодя за несколькими зайцами одновременно требует от охотника повышенной бдительности. Конечно, проще всего писать просто, но если просто писать не получается, приходится писать сложно. В отношении программирования это означает многопоточность. Но многопоточность кода не означает автоматически наличие многопоточности сознания у разработчика. В результате бывают забавные ситуации, в которых несколько лишних букв (собственно, одно ключевое слово) так меняет логику, что ошибка проявляется не всегда, а только при определённом стечении многопотоков. И именно поэтому такие ошибки самые неприятные - в отладчике их можно и не поймать. Такая жизнь.