Capisco che in Go, runtime.LockOSThread()
si associ una goroutine a un thread del sistema operativo e non si consenta l'esecuzione di altre goroutine in tale thread. Questo vale anche per le goroutine infantili?Il runtime.Lockouthread consente ai goroutini figli di essere eseguiti nello stesso thread del sistema operativo?
Ad esempio:
runtime.LockOSThread()
go func() {
go func() {
// Do something
}()
// Do something
}()
fare entrambe queste goroutines eseguire in un unico ed esclusivo filo OS o solo il primo?
Non è necessario includere il corpo della risposta alla domanda nella domanda, solo [contrassegnarlo come accettato] (http://meta.stackexchange.com/a/5235/168708). – thwd
Anche se non è attualmente supportato, è stato [proposto] (https://groups.google.com/d/msg/golang-dev/HJcGESXfJfs/X-SBuDkcBwAJ) per una nuova funzionalità opzionale. E ho proposto [altri casi d'uso] (https://stackoverflow.com/questions/1880262/forcing-goroutines-into-the-same-thread#comment83771359_1928637). –