2016-12-23 8 views
5

Параллельность - это действительно сложная часть программирования. Последнее время горутин очень популярен. Мой вопрос: какие аналоги goroutine существуют на других языках?Аналоги Goroutine на других языках

ответ

6

goroutine вдохновлены CSP (Communicating sequential processes), что весьма влиятельным в разработке языка программирования occam, а также влияние на дизайн языков программирования, таких как Limbo, RaftLib, Go и Crystal.

Отметьте, что goroutine are not without criticisms.

Он отличается от Actor Model в том, что:

  • CSP процессы являются анонимными, в то время как актеры имеют идентичности.
  • Передача сообщений CSP в основном предполагает рандеву между процессами, связанными с отправкой и получением сообщения. Напротив, передача сообщений в актерских системах принципиально асинхронна.
  • CSP использует явные каналы для передачи сообщений, тогда как системы актеров передают сообщения указанным участникам-участникам.