Have you heard of the Amoeba distributed OS? See https://en.wikipedia.org/wiki/Amoeba_(operating_system). Well, in Amoeba a thread can be suspended, thereafter be sent to some other machine where it is resumed. That you can't do with goroutines of course (and goroutines pursue a different approach anway). But I think you could take some ideas from Amoeba. There is also Plan9 to look at, see https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs or Sprite (https://en.wikipedia.org/wiki/Sprite_(operating_system).
All those things are bloody awful interesting things. Unhappily, to get anything accomplished that comes only near any of those things would be hell of a lot of work ... -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/fd966422-3b2f-41ff-b6e2-9eb913ef5b21%40googlegroups.com.