Junior — Middle
Маскалардын жана асинхрон ишке ашырылышынын негизги айырмачылыктары эмнеде?
sobes.tech AI
AIден жооп
Параллел ишке ашыруу тапшырмаларынын бир убакта ишке ашырылышы, адатта, процессордун ар кандай ядролорунда бир убакта бир нече тапшырманы ишке ашыруу дегенди билдирет, бул коддун чын эле бир убакта ишке ашырылышы аркылуу иштетүүнү тездетет.
Асинхрон ишке ашыруу — бул кодду уюштуруу ыкмасы, анда тапшырма башталат жана артында иштей алат, ал эми негизги агым блоктоло элек жана ишин уланта алат. Асинхрондуулук милдеттүү түрдө параллелизмди билдирбейт: тапшырма үзгүлтүксүз ишке ашырылышы мүмкүн, бирок чакырган агымды блоктогон жок.
Мисал C#:
// Агымды блоктогон эмес асинхрондук метод
async Task<string> DownloadAsync(string url) {
using var client = new HttpClient();
return await client.GetStringAsync(url);
}
// Бир нече тапшырмаларды параллелдүү ишке ашыруу
var tasks = new[] {
Task.Run(() => DoWork(1)),
Task.Run(() => DoWork(2))
};
await Task.WhenAll(tasks);
Жыйынтык:
- Параллелизм — процессор деңгээлинде чын эле бир убакта ишке ашыруу.
- Асинхрондук — тапшырманы блоктогон эмес, башка операцияларды ишке ашырууга мүмкүндүк берет, ал эми тапшырма аяктагандан кийин.