Ø I probably missed a lot of things, so feel free to correct me
Go’s CSP is based on lightweight threads (goroutines), messaging (channels),
and “select” – all of which are built into the language, not a library. Being
built in makes then easier to use than dealing with libraries. Locks and
atomics are also offered as part of the standard library.
>From your list, it seems that you are considering 3rd party libraries, too.
>In this case, you are really looking at a lot of implementations built using
>the basic tools. If you want to learn concurrency, perhaps you should be
>planning to build these yourself rather than using ones written by others.
John
John Souvestre - New Orleans LA
From: [email protected] [mailto:[email protected]] On
Behalf Of [email protected]
Sent: 2017 February 05, Sun 18:23
To: golang-nuts
Subject: [go-nuts] [Beginner question] Which language supports more concurrency
models: Go or Java?
Question is in the title.
I want to learn more about concurrency. So I am looking for a language that can
teach me the greatest number of concurrency models.
It seems that Java supports these models:
* Plain old threads & locks
* In addition, Java also has various concurrent data structures in the
java.util.concurrent package
<http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/package-summary.html>
(ConcurrentHashMap, CopyOnWriteArrayList, etc)
* Actor model: Akka <http://akka.io/>
* CSP / lightweight threads & channels: Quasar
<http://blog.paralleluniverse.co/post/49445260575/quasar-pulsar>
* Software Transactional Memory: built in into Clojure (I don't know if
it can be used from Java), Akka version <= 2.2
* Dataflow: Quasar <http://blog.paralleluniverse.co/2014/02/20/reactive/>
I'm not very familiar with Go, but here's what I found:
* CSP: built in into the language
* Actor model: Proto Actor <http://proto.actor/>
* I probably missed a lot of things, so feel free to correct me
Thank you in advance,
Rio
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.