On 3/14/15 2:02 AM, Russel Winder via Digitalmars-d wrote:
On Fri, 2015-03-13 at 07:55 -0700, Andrei Alexandrescu via Digitalmars-d
wrote:
On 3/13/15 6:45 AM, Russel Winder via Digitalmars-d wrote:
The removal of shared memory multi-threading in favour of using
processes and channels should never be underestimated as a Really Good
Thing™ that other native code languages (*) have failed to do anything
about. Thus Go wins, others lose.
That's a marketing success as well. Go didn't "remove" shared memory
multi-threading, it just unrecommends it. That's quite unremarkable from
a programming language design standpoint, but as discussed that's not
always crucial for success. -- Andrei
I think you need to show a bit of Go code that uses threads to be able
to back up that claim.
package main
type Data struct {
i int
}
func func1(c chan *Data ) {
var t *Data;
t = <-c
println(t)
}
func func2(c chan *Data ) {
var t *Data;
t = <-c
println(t)
}
func main() {
c := make(chan *Data)
t := Data{10}
go func1(c)
c <- &t
go func2(c)
c <- &t
println(&t)
}