Как стать автором
Обновить

Комментарии 12

Можете написать пару примеров, когда лучше использовать ConcurrentSkipListMap? Очень редкий зверь в боевом коде для меня.
Например, как потокобезопасный TreeMap

Вопрос к переводчику. Словосочетание Concurrency is not parallelism известно каждому программисту и понимать почему это так важно и нужно тоже каждому. Так как получилось, что Concurrency переведено как параллелизм? Это осознанный выбор?

Целиком всё-таки фраза звучит так:
Concurrency is not Parallelism (it's better) — A talk by Rob Pike
Sure it is better!
— Т.е. перевести можно как и прямо, но это всё же будет более запутанно или ближе к смыслу. Ну или можно к каждому слову в переводе дать его определение в скобочки, а всю фразу вынести в дисклеймер :)
В заголовке — «разбор основных концепций параллелизма», а в посте — ни слова про параллелизм, только про многопоточность. Это вещь прямо противоположная по смыслу. WTF? Возникает ощущение, что переводчик даже близко не понимает, о чем пишет.

Точного перевода одним русским словом я пока не видел. Программисты между собой говоря конкарренси. Наиболее вменяемый перевод — многопоточность.

Например конкурентность? Имеется ввиду конкуренция за владением ресурсом.
Целиком всё-таки фраза звучит так:
Concurrency is not Parallelism (it's better) — A talk by Rob Pike

Сложно сказать, откуда вы взяли эту цитату. Но вот в блоге Go есть запись, которая так и называется — Concurrency is no parallelism, в которой есть ссылка на выступление Роба Пайка.


Если послушать выступление, то можно убедиться, что начиная с 01:15 Роб Пайк говорит следующее:


Concurrency and parallelism are not the same thing. It's a commonly misunderstood problem. And I'm here to try to explain why. And to show you, that concurrency is actually better.

Тут чётко написано, что во-первых, concurrency и параллелизм это не одно и то же, а во-вторых считать их одним и тем же — распространённая ошибка. Как после этого можно concurrency перевести словом параллелизм — большая загадка.


— Т.е. перевести можно как и прямо, но это всё же будет более запутанно или ближе к смыслу.

Погодите, вы считаете, что если перевести concurrency как параллелизм, это будет ближе к смыслу?

Тут чётко написано, что во-первых, concurrency и параллелизм это не одно и то же, а во-вторых считать их одним и тем же — распространённая ошибка. Как после этого можно concurrency перевести словом параллелизм — большая загадка.

ЕМНИП из такого же выступления было — тут могу ошибаться.

Погодите, вы считаете, что если перевести concurrency как параллелизм, это будет ближе к смыслу?


Как ни странно, но это скорее ближе получится, на мой взгляд, чем конкурентность, например, которое, с точки зрения русского языка всё же немного о другом. Есть вариант насчёт одновременности, но тоже не совсем корректно.

Опять же в геймдеве, где довелось поработать — данные термины переводились одинаково, хотя значения при этом отличались. И что вот делать? :)
Может я не прав, но по моему мнению для нормальной параллельной работы надо как минимум анализировать количество процессоров в системе и возможность переносить какие-то работы на оборудование. Как дела с анализом оборудования в Java?
Runtime.getRuntime().availableProcessors();

Например, даёт число ядер процессора, ну и вообще через
Runtime.getRuntime()
можно собрать инфу о системе, где запущена виртуальная машина. Более подробно можно посмотреть тут
Зарегистрируйтесь на Хабре, чтобы оставить комментарий