Задачи для подготовки к собеседованию

Что выведет следующий код и почему?

Go
func main() {
    runtime.GOMAXPROCS(1)

    done := false

    go func() {
        done = true
    }()

    for !done {}
    
    fmt.Println("finished")
}