<р> - Программное обеспечение транзакционной памяти (STM) является одним из решений. Erlang и Clojure две очень разные охват языков, которые реализуют этот.
- Сообщение обход актеров другое решение: Скала и Erlang стоит, глядя на этого.
<р> - В Python и Ruby, взгляните на Twisted и EventMachine которые обеспечивают петли событий. Кроме того, посмотрите на Node.js, а (на стороне сервера) JavaScript основой для создания событий loops.Co-процедуры еще один способ решения проблем параллелизма: The Go языка от Google является новым статически типизированный, типа вывод язык системы предназначены быть как C в производительности, но, как Python синтаксис и простоты. Он использует "goroutines", реализация сопутствующих процедур.
Другой язык построен вокруг сопрограммам является значок.
<р> - очереди отправки еще одно решение так: на Mac OS X 10.6 и выше, "Grand Central Dispatch" система массового обслуживания Apple, создал для использования в C, C ++ и Objective-C. Реализация с открытым исходным кодом НОД доступен как "libdispatch". Java-и Скала реализация называется HawtDispatch также доступна.
<р> Шаг 5:
<р> читать код. Один из лучших способов изучения нового языка и стать квалифицированным в обучении языков, чтобы прочитать код.
Существует много открытых исходных кодов доступны, и как только вы читали через код нескольких приложений, вы начинаете видеть хорошее и плохое код и развивать вкус к тому, что вам нравится, и не нравится, а также понять, почему некоторые стили программирования и парадигмы хороши для разных задач.
<р> Шаг 6:
<р> Найти проект в первую очередь Вообще легче выучить новый язык, если есть конкретный проект или цель должна быть достигнута. Изучение нового языка, написав "Hello World" является гораздо более сложным и не будет осуществлять истинные способности языка.
<р> Шаг 7:
<р> изолировать разницу между библиотекой и языка может быть запутанным в некоторых языках различать "библиотеки" и "язык". Там также может быть путаница между "генераторы кода" и "язык". При изучении нового я