Konu
Bir iş parçacığı, eşzamanlı bir yürütme birimidir. Kendi çağrı yığını vardır. Uygulamalarda diş açmanın iki yöntemi vardır.
Bunlardan biri, Thread'ı genişleten ve run () yöntemini geçersiz kılan yeni bir sınıf sağlamaktır. Diğeri, oluşturma sırasında Runnable nesnesiyle yeni bir Thread örneği sağlıyor. Bir iş parçacığı, "start" yöntemi çağrılarak yürütülebilir. Bir iş parçacığının "Önceliği" ni "setPriority (int)" yöntemini çağırarak ayarlayabilirsiniz.
Kullanıcı arabirimi bölümünde herhangi bir etkiniz yoksa bir iş parçacığı kullanılabilir. Örneğin, bir web servisini çağırıyor veya bazı verileri indiriyorsunuz ve indirdikten sonra, bunu ekranınızda görüntülüyorsunuz. Sonra bir iş parçacığı ile işleyici kullanmanız gerekir ve bu, Threads tüm yanıtları işlemek için uygulama karmaşık hale getirecektir.
Bir işleyici, bir iş parçacığının MessageQueue ile ilişkili Message ve Runnable nesneleri göndermenizi ve işlemenizi sağlar. Her ileti dizisinin her bir ileti kuyruğu vardır. (Yapılacaklar Listesi gibi) ve iş parçacığı her iletiyi alacak ve ileti kuyruğu boşalana kadar işleyecektir. Böylece, İşleyici iletişim kurduğunda, sadece arayan iş parçacığına bir mesaj verir ve işlemek için bekler.
Java iş parçacıklarını kullanıyorsanız, kendi kodunuzda aşağıdaki gereksinimleri karşılamanız gerekir:
Sonuçları kullanıcı arayüzüne geri gönderirseniz ana iş parçacığıyla eşitleme İş parçacığını iptal etmek için varsayılan yok Varsayılan iş parçacığı havuzu yok Android'de yapılandırma değişikliklerini işlemek için varsayılan yok
AsyncTask
AsyncTask, UI iş parçacığının düzgün ve kolay kullanımını sağlar. Bu sınıf, iş parçacıklarını ve / veya işleyicileri değiştirmek zorunda kalmadan arka plan işlemlerini gerçekleştirmeye ve sonuçları UI iş parçacığında yayınlamaya izin verir. Zaman uyumsuz bir görev, bir arka plan iş parçacığında çalışan ve sonucu UI iş parçacığında yayınlanan bir hesaplama ile tanımlanır.
AsyncTask aşağıdaki 4 aşamadan geçecektir:
OnPreExecute ()
Görev yürütülmeden UI iş parçacığında çağrılır
doInbackground (Parametreler ..)
OnPreExecute () işlemi tamamlandıktan hemen sonra arka plan iş parçacığında çağrılır.
onProgressUpdate (Gelişme ..)
PublishProgress (İlerleme ...) çağrısından sonra UI iş parçacığında çağrılır.
OnPostExecute (Sonuç)
Arka plan hesaplaması bittikten sonra UI iş parçacığında çağrılır.
Neden AsyncTask kullanmalısınız?
Bir UI İş Parçacığı için kullanımı kolaydır. (Bu nedenle, arayan iş parçacığı bir UI iş parçacığı olduğunda kullanın).
İşleyicileri manipüle etmeye gerek yok.