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, давая пользователям простой способ построения синхронизированного индекса.