Архитектура архитектуры процессора изменилась, несколько ядер - это тенденция, которая изменит то, как мы должны разрабатывать программное обеспечение. Я сделал многопоточную разработку на C, С++ и Java, я сделал многопроцессорную разработку с использованием различных механизмов IPC. Традиционные подходы к использованию потоков, по-видимому, не позволяют разработчику использовать аппаратное обеспечение, поддерживающее высокую степень concurrency.
Какие языки, библиотеки и методы разработки вы знаете об этой помощи, чтобы облегчить традиционные проблемы создания параллельных приложений? Я, очевидно, думаю о таких проблемах, как тупики и условия гонки. Также интересны методы проектирования, библиотеки, инструменты и т.д., Которые помогают фактически использовать преимущества и обеспечить доступность доступных ресурсов. Простое создание надежного надежного многопоточного приложения не гарантирует, что он использует все доступные ядра.
То, что я видел до сих пор:
- Erlang: процесс основан, передача сообщений IPC," актер-модель concurrency
 - Dramatis: библиотека моделей участников для Ruby и Python
 - Scala: язык функционального программирования для JVM с добавленной поддержкой concurrency
 - Clojure: язык функционального программирования для JVM с библиотекой участников.
 - Termite: порт процесса процесса Erlang и сообщение, переходящее к Схеме
 
Что еще вы знаете о том, что сработало для вас и как вы думаете, интересно смотреть?
 Kamaelia - Параллелизм стал полезным, веселым