Как runtime.LockOSThread работает и зачем нужен?

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

LockOSThread привязывает текущую горутину к текущему OS thread. Другие горутины не будут выполняться на этом thread. Нужно для: GUI frameworks (main thread), C библиотеки с thread-local state, syscalls требующие один thread (setns, unshare). UnlockOSThread освобождает. Если горутина завершается с locked thread — thread уничтожается.

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

Как спроектировать canary deployment system?