anchor.diff:  
   === *Атомарно ли ++ для volatile переменной?*
   
  -Нет, так как в реальности ++ представляет из себя 3 инструкции: чтение, инкремент и запись. *volatile* гарантирует только атомарность одиночной записи (мы не увидим шум внутри поля), но не атомарность набора операций. То есть никто не запрещает 2 процессам прочитать одинаковое значение переменной, сделать инкремент и записать его в память. В этом случае мы получим "потерянную запись". 
  +Нет, так как в реальности ++ представляет из себя 3 инструкции: чтение, инкремент и запись. volatile гарантирует только атомарность одиночной записи (мы не увидим шум внутри поля), но не атомарность набора операций. То есть никто не запрещает 2 процессам прочитать одинаковое значение переменной, сделать инкремент и записать его в память. В этом случае мы получим "потерянную запись". 
   
   ==  Базовое API, примитивы/конструкции
   
   === *Thread.getState() возвращает экземпляр Thread.State. Какие возможны значения?*
   
  -* *NEW* - поток был создан, но еще не стартовал; 
  -* *RUNNABLE* - поток выполняется. Этот статус не обязательно значит, что поток выполняет код. Это всего лишь значит, что поток доступен планировщику потоков для выбора потока на исполнение;
  -* *WAITING* - поток ждет на мониторе; Поток переходит в него вызовами методов  `wait()`, `join()` либо парковкой через `LockSupport.park()`
  -* *TIME_WAITING* - поток ждет на мониторе с таймаутом; Те же самые методы, только  с таймаутом + `sleep`.
  -* *BLOCKED* - поток заблокирован на мониторе; Поток переходит в него когда пытается войти в критическую секцию, но она уже занята другим потоком. 
  -* *TERMINATED* - поток завершил выполнение. 
  +* `NEW` - поток был создан, но еще не стартовал; 
  +* `RUNNABLE` - поток выполняется. Этот статус не обязательно значит, что поток выполняет код. Это всего лишь значит, что поток доступен планировщику потоков для выбора потока на исполнение;
  +* `WAITING` - поток ждет на мониторе; Поток переходит в него вызовами методов  `wait()`, `join()` либо парковкой через `LockSupport.park()`
  +* `TIME_WAITING` - поток ждет на мониторе с таймаутом; Те же самые методы, только  с таймаутом + `sleep`.
  +* `BLOCKED` - поток заблокирован на мониторе; Поток переходит в него когда пытается войти в критическую секцию, но она уже занята другим потоком. 
  +* `TERMINATED` - поток завершил выполнение. 
   
   === *Отличие Thread.start() и Thread.run()?*
   
  
positive.code: 
  * Рефлексивность. Результат самой операции, очевидно, видим и упорядочен для  нее самой.
  
  * Антисимметричность. Если результат операции *A* видим и упорядочен для операции *B*, то результат операции *B* бы не видим и не упорядочен для *A*.
  
  Если бы *B* была бы видна для *A*, это значит, что для ее (*A*) локального времени *B* произошла до *A*. Так как результат *A* виден для *B*, то это значит, что для ее (*B*) локального времени *A* произошла до *B*. Так как отношение "произошел до/был раньше" транзитивно, из этого следует что *B* произшла до *B*. Получаем противоречие. Следовательно, *B* не может быть видна для *A*.
  
  * Транзитивность. Если результат операции *A* видим и упорядочен для *B* и результат *B* видим и упорядочен для *C*, то результат *A* видим и упорядочен для *С*.
  
  Так как *A* видна для *B*, то она произошла до *B* в ее локальном времени. Так как *B* видима для *C*, то она произошла до *C* в ее локальном времени. Так как отношение "произошел до/был раньше" транзитивно, то и операция *A* видима для *C*.
  
  === *Что такое data-race?*
  
  
negative.code: 
  * Рефлексивность означает, что отношение, примененное к одинаковым аргументам, является истинным.
  * Антисимметричность означает, что отношение не симметрично. То есть отношение, примененное к неодинаковым аргументам, поменняными местами, будет ложным.
  * Транзитивность означает, что если отношение истинно для аргументов _A_ и _B_ и для аргументов _A_ и _C_, то оно истинно для аргументов _A_ и _C_.
  
  Примером отношения частичного порядка является отношение "быть делителем".
  
  === *Что такое отношение happens-before?*
  
  Отношение _happens-before_ (происходит-до) является отношением частичного порядка между двумя операциями. Если одна операция происходит-до другой, то ее результат видим и упорядочен для другой.
  
  === *Почему happens-before — это частичный порядок?*
  
  