Sobes.tech
Senior

მიჩნდება თუ არა ოპერაციული სისტემაში ახალი ნაკადი თითო გორუტინისთვის?

sobes.tech AI

პასუხი AI-სგან

ხოლო, Go-ში თითოეულ გორუტინზე არ იქმნება ცალკე ოპერაციული სისტემის ნაკადი. გორუტინი შეიძლება განვიხილოთ როგორც მსუბუქი ნაკადი (lightweight thread), რომელიც მართავს Go-ის (runtime scheduler).

Go-ის runtime იყენებს M:N მოდელს, სადაც M არის ოპერაციული სისტემის ნაკადების რაოდენობა, N — გორუტინების რაოდენობა. სქემატური განაწილება ბევრ გორუტინას ნაკლებ რაოდენობის ოპერაციული სისტემის ნაკადზე, ეფექტურად გამოყენებით სისტემის რესურსებს.

ეს საშუალებას აძლევს შექმნათ ათასობით და甚至 მილიონობით გორუტინას მნიშვნელოვანი დამატებითი ხარჯების გარეშე, განსხვავებით სისტემის ნაკადებისგან, რომლებიც მძიმეა.

ამიტომ, გორუტინები — ეს არის კოოპერატიული დაგეგმილი დავალებები ერთ ან რამდენიმე ოპერაციული სისტემის ნაკადში, და არა 1:1 შესაბამისობა.