Size: a a a

2021 July 14

М

Михаил in Go-go!
Я всё равно не понимаю. В текущей версии планировщика обязательно будет переключение при, например, системном вызове или нет?
источник

SS

Simon S in Go-go!
А указатель на тип является структурой?
источник

S

S in Go-go!
При системном вызове будет, разумеется. Чего же ещё делать приложению, когда оно вошло в ядро.
источник

М

Михаил in Go-go!
То есть просто в новой версии go добавили ещё одни safe pointer'ы, в которых возможно переключение контекста? И все старые точки оставлись?
источник

S

S in Go-go!
Там все примерно так работает:

- В определенных точках компилятор вставляет код, который выставляет флаг или семафор "можно прерываться".

- Планировщик периодически вызывает isAsyncSafePoint, который этот флаг проверяет. Если он выставлен, тогда он забирает управление у горутины.
источник

AN

Alexander N in Go-go!
А как выглядят эти точки? И что там используется? Атомарные переменные?
источник

AN

Alexander N in Go-go!
Типа сделали инкремент некого atomic-a и значит можно прерываться(cmpxchg?) Ну или lock xaddl/lock incl
источник

DP

Daniel Podolsky in Go-go!
на атомике как раз нельзя
источник

S

S in Go-go!
Компилятор вставляет на стек переменную, через которую можно отслеживать состояние горутины, и в определенных участках кода вставляет вызовы, модифицирующие это состояние.
источник

S

S in Go-go!
Типа того. Пустые циклы, например, точно можно прерывать, потому что в них нет запрета.
источник

М

Михаил in Go-go!
Вроде понял, спасибо
источник

D🦀

Dimka ☣️ 🦀 in Go-go!
Поделитесь ссылкой на go tour на русском языке, сам не могу найти 😊
источник

DP

Daniel Podolsky in Go-go!
его, вроде, не было
источник

DP

Daniel Podolsky in Go-go!
на украинском - был, а на русскуом, вроде, нет
источник

L

LiFeAiR in Go-go!
tour.golang.org только на английском
источник

D🦀

Dimka ☣️ 🦀 in Go-go!
эх, грусть тоска
источник

ЕО

Евгений Омельченко... in Go-go!
Там такой английский, что всё понятно
источник

AN

Alexander N in Go-go!
Надо будет задизасмить
источник

T🇷

Tonny 🇷🇺 in Go-go!
источник

T🇷

Tonny 🇷🇺 in Go-go!
но он пятисотит что-то
источник