Что такое runtime.LockOSThread?

Middle
146 просмотров
AFK Offer AI

runtime.LockOSThread() привязывает текущую горутину к текущему OS-треду: никакая другая горутина не будет выполняться на этом треде, и эта горутина не мигрирует на другой тред. Зачем: некоторые C библиотеки требуют вызова из одного треда (OpenGL, GUI frameworks). Также нужно для thread-local storage в C. Обратная операция — UnlockOSThread. Main горутина автоматически залочена на main thread. Используется редко, только для CGo и системных вызовов.

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

Что такое SAML?