Бесконечная запись по указателю при GOMAXPROCS(1)

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

При GOMAXPROCS(1) горутина в тугом цикле пишет по указателю, а main через 150 мс читает переменную. Что напечатает программа с учётом вытесняющей многозадачности? Что не так с кодом?

main.gogo
1package main2 3import (4	"fmt"5	"runtime"6	"time"7)8 9func raceByPointer() {10	runtime.GOMAXPROCS(1)11 12	counter := 013	go func(p *int) {14		for n := 1; n <= 30000000000; n++ {15			*p = n16		}17	}(&counter)18 19	time.Sleep(150 * time.Millisecond)20	fmt.Printf("counter = %d.\n", counter)21}22 23func main() {24	raceByPointer()25}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.