Rozumiem, że w Go, runtime.LockOSThread()
będzie wiązał goroutine do jednego wątku systemu operacyjnego i nie pozwala na uruchamianie innych goroutines w tym wątku. Czy dotyczy to również dzieci goroutines?Czy plik runtime.LockOSThread umożliwia uruchamianie podrzędnych elementów potomnych w tym samym wątku systemu operacyjnego?
Na przykład:
runtime.LockOSThread()
go func() {
go func() {
// Do something
}()
// Do something
}()
Czy oba te goroutines wykonać w jednym wątku i wyłącznej OS lub tylko pierwszy z nich?
Nie musisz podawać treści odpowiedzi na swoje pytanie w pytaniu, po prostu [oznacz jako zaakceptowane] (http://meta.stackexchange.com/a/5235/168708). – thwd
Mimo że nie jest on obecnie obsługiwany, został [zaproponowano] (https://groups.google.com/d/msg/golang-dev/HJcGESXfJfs/X-SBuDkcBwAJ) dla nowej opcji opcjonalnej. I zaproponowałem [inne przypadki użycia] (https://stackoverflow.com/questions/1880262/forcing-goroutines-into-verame-thame#comment83771359_1928637). –