3 ms·
Ada's tasks aren't defined to be greenlets; an implementation can make then OS threads or processes, limiting their number. And rendezvousing is more cumberso
by ralph 14y ago
Ada's tasks aren't defined to be greenlets; an implementation can make then OS threads or processes, limiting their number. And rendezvousing is more cumbersome than channels, e.g. passing a channel over a channel.
- pjmlp 14y agoI can be wrong, but as far as I know, Go language's specification also does not define how goroutines are to be implemented. Google's implementation makes use of greenlets, while gccgo is using OS threads. Further implementations might decide on others approaches. As for channels/rendezvous you might be correct, as I only played a bit with Ada.
- ralph 14y agoYou could be right about the spec. I think gccgo no longer does one OS thread per goroutine as of Go 1.0 but I've been unable to find a clear definition to point to.