anchor.diff:  
   *Mutual exclusion* - `synchronized` создает критическую секцию и гарантирует взаимное исключение.
   
  -=== *Что такое ordering, visibility, atomicity, happend-before, mutual exclusion на примере AtomicInteger?*
  +=== Что такое ordering, visibility, atomicity, happend-before, mutual exclusion на примере AtomicInteger?
   
   У `AtomicInteger` такие же гарантии на ordering, visibility и happens-before, как и у volatile, потому что поле `value` внутри него объявлено как volatile.
   
  
positive.code: 
  == Общие вопросы
  
  === *В чем разница между потоком и процессом?*
  
  Процесс является более высокоуровневой абстракцией ОС для выполнения программы, чем поток. Он, в свою очередь, может запускать в себе несколько потоков. 
  
  Процесс всегда имеет хотя бы один (главный) поток.
  
  === *Что такое кооперативная многозадачность и она ли в Java. Если да, то какие преимущества. Если нет, то какая тогда в Java?*
  
  Кооперативная многозадачность - это техника конкурентного выполнения программ, в которой обязанность передачи управления перекладывается на саму программу.
  
  
negative.code:     }
  
      public static Singleton getInstance() {
          if (instance === null) {
              synchronized (this) {
                  if (instance === null) {
                      instance = new Singleton("I am the single one!");
                  }
              }
  