diff --git a/web/ru/concurrency.textile b/web/ru/concurrency.textile index 4dcf7e55..6b1ef4cd 100644 --- a/web/ru/concurrency.textile +++ b/web/ru/concurrency.textile @@ -237,7 +237,7 @@ class Person(@volatile var name: String) { h4. AtomicReference -Также в Java 5 был добвлен целый набор низкоуровневых примитивов для параллельных вычислений. Одним из них является класс @AtomicReference@ +Также в Java 5 был добавлен целый набор низкоуровневых примитивов для параллельных вычислений. Одним из них является класс @AtomicReference@
import java.util.concurrent.atomic.AtomicReference @@ -284,7 +284,7 @@ h4. AtomicInteger/Long h4. AtomicBoolean -Я думаю ненужно объяснять зачем это нужно. +Я думаю не нужно объяснять зачем это нужно. h4. ReadWriteLocks @@ -343,7 +343,7 @@ def add(user: User) { }-К сожалению, это слишком грубо. Всегда старайтесь сделать так много дорогостоящей работы за пределами мьютекса насколько это возможно. Помните, что я говорил, блокировка дожна быть дешевой, если нет никаких разногласий. Если вы сделаете меньше работы внутри блока, будет меньше разногласий. +К сожалению, это слишком грубо. Всегда старайтесь сделать так много дорогостоящей работы за пределами мьютекса насколько это возможно. Помните, что я говорил, блокировка должна быть дешевой, если нет никаких разногласий. Если вы сделаете меньше работы внутри блока, будет меньше разногласий.
def add(user: User) { @@ -360,7 +360,7 @@ def add(user: User) { h2. SynchronizedMap -Мы может смешать синронизацию с изменяющимся HashMap, используя трейт SynchronizedMap. +Мы может смешать сихнронизацию с изменяющимся HashMap, используя трейт SynchronizedMap. Мы можем расширить наш существующий InvertedIndex, давая пользователям простой способ построения синхронизированного индекса.