await
-
anlamak için yazdığım ufak bir kod parçası aşağıda:
async static task<long> bigf()
{
long x = 4;
console.writeline("bigf before await");
await task.run(() =>
{
for (long i = 0; i < int32.maxvalue / 5; i++)
{
x = x ^ i;
}
});
console.writeline("bigf after await");
return x;
}
async static void test()
{
var t = bigf();
console.writeline("test before await");
//do some job
console.writeline(await t);
console.writeline("test after await");
}
static void main(string[] args)
{
test();
console.writeline("main");
console.readkey();
}
çıktısı:
bigf before await
test before await
main
bigf after await
429496732
test after await
sonuç:
await der demez içinde bulunduğu async fonksiyon dönüyor,
döndüğü yerde kod çalışmaya devam ediyor, taki async fonksiyonun sonucu await edilene kadar.
böylece bir sürü callback fonksyonu tanımlamamıza gerek kalmıyor. -
ilk kez c# 5.0 ile kullanima sunulan bir keyword.
-
visual studio async ctp ve visual studio 11 beta ile hayatımıza girmiş sevimli keyword.
-
icedcoffeescript'te de hemen hemen aynı amaçla ve benzer şekilde kullanılmaktadır.
-
beklenilen cansız nesneden önce ve prepositionsuz kullanılan wait.
-
bir işe odaklanman gerekiyor saçma sapan
interrupt'lara yer olmasın diye...
yani işin özü; eşeği suya bağlamaktır. -
(bkz: async)
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap