Kas yra gorutinas? Ir koks jų dydis?

Tinklaraštis

Kas yra gorutinas? Ir koks jų dydis?

Esu tikras, kad visi, besimokantys „Go“, tai girdėjo gorutinos yra tarsi lengvi siūlai ir tai Gerai paleisti šimtus, tūkstančius gorutinų . Kai kurie žmonės to išmoksta gorutinas užima apie 2 kilobaitus , greičiausiai nuorodos „Go 1.4“ išleidimo pastabos , ir dar mažiau žmonių sužino, kad tai atitinka pradinį kamino dydį.



Ir nors visi šie teiginiai yra teisingi, norėčiau parodyti kodėl yra tai, kad ištirti, kas iš tikrųjų yra gorutinas, kiek vietos tai užima, ir pateikti atspirties taškus, kad visi galėtų apžiūrėti „Go“ vidų.

Šiam tyrimui aš naudosiu Eiti 1.14 išleidimo šaka , todėl visi kodo fragmentai bus nukreipti ten.



„Goroutine“ planuotojas

The Goroutine planuotojas yra darbo vagystės planuotojas, kurį dar kartą „Go 1.1“ pristatė Dmitrijus Vyukovas ir „Go“ komanda. Yra jo dizaino dokumentas čia ir aptaria galimus patobulinimus ateityje. Yra daug puikių išteklių, kad galėtumėte išsamiai suprasti, kaip tai veikia, tačiau svarbiausia suprasti, kad jis bando valdyti G , M ir P ; gorutinos, mašinų siūlai ir procesoriai.

G yra tiesiog Golango gorutinas.



M yra OS gija, kuri gali ką nors vykdyti arba neveikia.

P P gali būti laikomas procesoriumi OS planuoklyje; tai yra ištekliai, reikalingi mūsų „Go“ kodui vykdyti, pvz., planuotojas arba atminties skirstytuvo būsena.

Jie vykdymo metu vaizduojami kaip | _+_ |, | _+_ | arba | _+_ | struktūros.

Pagrindinė planuotojo pareiga yra suderinti kiekvieną G (kodą, kurį norime įvykdyti) su M (kur jį vykdyti) ir P (teisės ir ištekliai vykdyti)

Kai M nustoja vykdyti mūsų kodą, jis grąžina savo P į tuščiosios eigos P telkinį. Norėdami tęsti „Go“ kodo vykdymą, jis turi jį iš naujo įsigyti. Panašiai, kai gorutinas išeina, G objektas grąžinamas į laisvų G baseiną ir vėliau gali būti pakartotinai panaudotas kitam gorutinui.

mazgo js vadovėliai pdf

Norėdami pradėti „Goroutine“, užsidegkite pagrindinis arba kodu , a | _+_ | struktura inicijuojama per | _+_ | funkcija

#go #golang #kūrėjas

tpaschalis.github.io

Kas yra gorutinas? Ir koks jų dydis?

Kas yra gorutinas? Ir koks jų dydis? Esu tikras, kad visi, besimokantys „Go“, yra girdėję, kad gorutinos yra tarsi lengvi siūlai ir kad gerai paleisti šimtus, tūkstančius gorutinų. Kai kurie žmonės sužino, kad gorutinas užima apie 2 kilobaitus, greičiausiai nurodydamas „Go 1.4“ išleidimo pastabas, ir dar mažiau žmonių sužino, kad tai atitinka pradinį kamino dydį.