Skip to content

Commit 991152b

Browse files
small stylistic fix
1 parent ab5c936 commit 991152b

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

ru/overviews/parallel-collections/overview.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ language: ru
1515

1616
## Мотивация
1717

18-
Пока производители процессоров в последние годы дружно переходили от одноядерных к многоядерным архитектурам, научное и производственное сообщества не менее дружно признали, что навыки параллельного программирования по-прежнему трудно привить широким массам.
18+
Пока производители процессоров в последние годы дружно переходили от одноядерных к многоядерным архитектурам, научное и производственное сообщества не менее дружно признали, что многопоточное программирование по-прежнему трудно сделать популярным.
1919

20-
В попытке помочь в программировании многопоточности в стандартную библиотеку Scala были включены параллельные коллекции, которые скрыли от пользователей низкоуровневые подробности параллелизации, дав им привычную высокоуровневую абстракцию. Надежда была (и остается) на то, что скрытая под уровнем абстракции параллельность позволит на шаг приблизиться к ситуации, когда среднестатистический разработчик будет повседневно использовать в работе надежно исполняемый параллельный код.
20+
Чтобы упростить написание многопоточных программ, в стандартную библиотеку Scala были включены параллельные коллекции, которые скрыли от пользователей низкоуровневые подробности параллелизации, дав им привычную высокоуровневую абстракцию. Надежда была (и остается) на то, что скрытая под уровнем абстракции параллельность позволит на шаг приблизиться к ситуации, когда среднестатистический разработчик будет повседневно использовать в работе надежно исполняемый параллельный код.
2121

22-
Идея проста: коллекции -- хорошо понятная и часто используемая программистами абстракция. И в силу своей структурности, они могут быть эффективно стать параллельными, оставив эту трансформацию прозрачной. Позволив пользователю "подменить" последовательные коллекции на те, что обрабатываются параллельно, решение Scala делает большой шаг вперед к охвату большего количества кода возможностями параллельной обработки.
22+
Идея проста: коллекции -- хорошо понятная и часто используемая программистами абстракция. Упорядоченность коллекций позволяет эффективно и прозрачно (для пользователя) обрабатывать их параллельно. Позволив пользователю "подменить" последовательные коллекции на те, что обрабатываются параллельно, решение Scala делает большой шаг вперед к охвату большего количества кода возможностями параллельной обработки.
2323

2424
Рассмотрим следующий пример, где мы исполняем монадическую операцию на некоторой большой последовательной коллекции:
2525

@@ -31,7 +31,7 @@ language: ru
3131

3232
list.par.map(_ + 42)
3333

34-
Библиотека параллельных коллекций Scala тесно связана с "последовательной" библиотекой коллекций Scala (представлена в версии 2.8), во многом потому, что последняя служила вдохновением к ее дизайну. Он предоставляет параллельную "ответную часть" к ряду важных структур данных из библиотеки (последовательных) коллекций Scala, в том числе:
34+
Библиотека параллельных коллекций Scala тесно связана с "последовательной" библиотекой коллекций Scala (представлена в версии 2.8), во многом потому, что последняя служила вдохновением к ее дизайну. Он предоставляет параллельную альтернативу ряду важных структур данных из библиотеки (последовательных) коллекций Scala, в том числе:
3535

3636
* `ParArray`
3737
* `ParVector`
@@ -42,7 +42,7 @@ language: ru
4242
* `ParRange`
4343
* `ParTrieMap` (`collection.concurrent.TrieMap` впервые в версии 2.10)
4444

45-
В дополнение к общей архитектуре, библиотека параллельных коллекций Scala дополнительно делит со своей последовательной "половиной" _расширяемость_. Другими словами, как и в случае с обычными последовательными коллекциями, пользователи могут внедрять свои собственные типы коллекций, автоматически наследуя все предопределенные (параллельные) операции, доступные для других параллельных коллекций в стандартной библиотеке.
45+
Библиотека параллельных коллекций Scala _расширяема_ также как и последовательные коллекции, представленные в стандартной библиотеке. Другими словами, как и в случае с обычными последовательными коллекциями, пользователи могут внедрять свои собственные типы коллекций, автоматически наследуя все предопределенные (параллельные) операции, доступные для других параллельных коллекций в стандартной библиотеке.
4646

4747
## Несколько примеров
4848

@@ -109,10 +109,10 @@ _На заметку:_ Коллекции, являющиеся последов
109109

110110
Эти многопоточные, "неупорядоченные" семантики параллельных коллекций приводят к следующим скрытым следствиям:
111111

112-
1. **Операции, производящие побочные эффекты, могут нарушать детерминизм**
112+
1. **Операции, имеющие побочные эффекты, могут нарушать детерминизм**
113113
2. **Неассоциативные операции могут нарушать детерминизм**
114114

115-
### Операции, производящие побочные эффекты.
115+
### Операции, имеющие побочные эффекты.
116116

117117
Вследствие использования фреймворком параллельных коллекций семантики _многопоточного_ выполнения, в большинстве случаев для соблюдения детерминизма требуется избегать выполнения на коллекциях операций, которые выполняют побочные действия. В качестве простого примера попробуем использовать метод доступа `foreach` для увеличения значения переменной `var`, объявленной вне замыкания, которое было передано `foreach`.
118118

0 commit comments

Comments
 (0)