Junior — Middle
Paaiškinkite asinchronijos veikimo principą korutinose ir kaip ji įgyvendinta
sobes.tech AI
Atsakymas iš AI
Asinchroniškumas korutinose C# kalboje įgyvendinamas naudojant raktinius žodžius async ir await, kurie leidžia rašyti asinchroninį kodą, panašų į sinchroninį, nesulaikant gijų.
Veikimo principas:
- Metodas, pažymėtas kaip
async, gali turėtiawaitoperatorių, kuris laikinai sustabdo metodo vykdymą iki asinchroninės operacijos pabaigos. - Šiuo metu esanti gija nėra blokuojama, o valdymas grąžinamas kviečiančiam kodui.
- Po operacijos pabaigos, metodo vykdymas tęsiasi nuo
awaitvietos.
Pavyzdys:
public async Task<string> GetDataAsync()
{
// Asinchroniškai laukiame operacijos pabaigos
string result = await SomeLongRunningOperationAsync();
return result;
}
Taip, korutinai leidžia efektyviai naudoti išteklius, nesulaikant gijų laukimo metu.