Golang: как проверить количество процессоров, на которых запущена программа Go

Я новичок в Google Go (Голанг). Мой вопрос связан с этим постомЧто именно делает runtime.Gosched?, Структура кода приведена ниже. Мой вопрос заключается в том, что когда я изменяю количество процессоров в GOMAXPROCS, как мне проверить, сколько процессоров на нем запущено. Когда я делаю 'top', он показывает процесс .out, который потребляет 100% или меньше ресурсов, даже если GOMAXPROCS больше 1. Я был бы признателен за вашу помощь.

package main

import (
    "fmt"
    "runtime"
    "sync"
)

var wg sync.WaitGroup

func doTasks() {
    fmt.Println(" Doing task ")
    for ji := 1; ji < 100000000; ji++ {
        for io := 1; io < 10; io++ {
            //Some computations
        }
    }
    runtime.Gosched()

    wg.Done()
}

func main() {
    wg.Add(1)
    runtime.GOMAXPROCS(1) // or 2 or 4
    go doTasks()
    doTasks()
    wg.Wait()
}

Ответы на вопрос(2)

Ваш ответ на вопрос