Messages get sent to an actor's address and only that actor “reads” from that mailbox. And there is no buffering. Channels don’t run any logic (like an actor), they may be buffered and any goroutine with access to a channel may read from it. All goroutines run in the same address space. As actors don’t share memory, they can be distributed or can even migrate from one node to another. Erlang is an actor language. Go is not.
> On Mar 4, 2018, at 9:00 AM, Anto Aravinth <anto.aravinth....@gmail.com> wrote: > > Hello All, > > I'm new to golang and trying to understand the difference between channels > and actors. From my knowledge: > > 1. Golang support channels, which is concurrently safe > 2. Channels can be shared across goroutines that are running. (very much > similar to messages) > > Actors: > 1. They are based on messages. > 2. Messages are immutable by nature. > 3. Actors work based on messages, concurrently. > > I find actors and channels much similar, may be I'm wrong here. Any help > would be really good. > > Thanks, > Anto; > -- > 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 golang-nuts+unsubscr...@googlegroups.com. > 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 golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.