Как устроен sync.Mutex внутри?

Senior
88 просмотров
AFK Offer AI

Mutex в Go — это структура из двух полей: state (int32) и sema (uint32). State хранит флаги locked, woken, starving и счётчик ожидающих. Sema — семафор ядра для блокировки горутин. Есть два режима: normal (попытка спинлока) и starvation (FIFO очередь). В starvation mode новые горутины не крадут лок у ожидающих.

Следующий вопрос

Что такое timestamp with timezone?