12 Ocak 2023 Perşembe

TASK

 Task Nedir ?

Bir pizza yaptığımızı düşünelim. Tüm malzemeleriniz hazır, ancak pişirmeden önce hamurun bir süre kabarmasına izin vermeliyiz. Hamurun kabarmasını beklerken sofrayı kurmak ya da televizyon izlemek gibi başka şeyler yapabiliriz.

Daha teknik olarak: C#'ta bir Task, asynchronous operationu temsil eder. Senkronize koda benzer bir şekilde asenkron kod yazmanıza izin vererek okumayı ve bakımını kolaylaştırır.

Taskların multi threadlerle ilişkisi yoktur. Tasklar kendini call eden  kodla aynı thread tarafındanda execute edilebilir yada ayrı bir thread tarafından da execute edilebilir. Thread seçimi , Taskların execute edilmesini yönetmekten sorumlu olan task scheduler tarafından belirlenir.

WebAssembly kullanan Blazor Client veya Promisleri içeren  (Tasklara çok benzer) javascript gibi teknolojileri düşünün. Bu iki teknoloji yalnızca tek bir thread üzerinde çalışır. Yinede Taskları ve asenlron programlamayı kullanabilir.

Taskları Neden Kullanırız?

Taskların kullanılmasındaki ana sebep ölçeklendirmedir. Kesinlikle performans değildir.

Sonuç olarak, Tasklar C#'ta basit, Senkron benzeri bir sözdizimiyle eşzamansız(asenkron) kod yazmamıza  izin veren önemli bir kavramdır. Tasklar ayrı threadler tarafından  execute edilebilir ve performanstan çok ölçeklenebilirlik için kullanılırlar.

Hiç yorum yok:

Yorum Gönder