Forum
Merhaba
Uwp üzerinde uygulama geliştirirken threadler kulllanılmıyor. TPL multithread gibi mi çalışıyor yoksa asenkron gibi mi çalışıyor. Eğer asenkron gibi ise multithread şeklinde nasıl çalıştırabilirim. Birden çok işlemi aynı anda yapıyorum. Programın bazı kısımlarında program duruyor. Bu sorunu nasıl giderebilrim ?
Teşekkürler
TPL ile bir görevin tamamlanmasını veya iptal olmasını beklersiniz, bu işlemler gerçekleşmeden veya belirli bir timeout koyup devam etmesini sağlamadan program beklemede kalır.
UWP debirden çok işlemi yaptırmak için asenkron (async) kullanmanız gerekir zaten.
Örnekte verilen butona basıldığında arkada işlem yapılırken aynı zamanda web sayfasında başak işlemlerinde yapılmasına izin verilmesi gibi.
Merhaba Ali Bey
Ben bu konuyu öğrenmek için birden fazla örnek inceledim. Yanılmıyorsam eğer birden çok işlemi yaptırmak için TPL kullanmak lazım. Zaten bu linkte de burak bey detaylı anlatmış yaklaşık 30 örnekle ( http://www.buraksenyurt.com/?tag=task+parallel+library )
Asenkron çalışmada da zaten Task kullanılıyor oluşturuluyor metotlar. Asenkron çalışma şekli kısaca şu
Task MetotAdı()
{
return Task.Run(()=>{ // çalıştırılacak olan kodlar }) ;
}
public async void BaskaMetotAdı(){
await MetotAdı();
}
Burada baskaMetotAdını istediğiniz yerden kullanabilir işlemlerinizi asenkron olarak yapabilirsiniz. Fakat asenkron olarak çalışmak çalışma anında zaman paylaşımı yaptırıyor. Zaman paylaşımı olmadan farklı threadler üzerinde çalışmak için de TPL kullanmak lazım yani. 🙂