120 чтений файлов при GOMAXPROCS(1)

Что выведетMiddleпроверка — Спринт06-t002

Тот же замер, что с http.Get, но 120 горутин читают файлы через os.ReadFile, и чтение одного файла занимает около секунды. Сколько времени напечатает программа и чем механизм отличается от сетевого случая?

main.gogo
1package main2 3import (4	"fmt"5	"os"6	"runtime"7	"sync"8	"time"9)10 11func main() {12	_ = runtime.GOMAXPROCS(1)13	begin := time.Now()14	group := sync.WaitGroup{}15	for idx := range 120 {16		group.Add(1)17		go func() {18			defer group.Done()19			_, _ = os.ReadFile(fmt.Sprintf("./blob%d", idx)) // чтение ~1 с20		}()21	}22	group.Wait()23	fmt.Println(time.Since(begin))24}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.