Middle
Android'de akış oluşturmanın yolları nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Android'de, aşağıdaki yöntemlerle iş parçacıkları oluşturulabilir:
-
Thread'den kalıtım yoluyla:// Thread'ten kalıtım alan sınıf class MyThread extends Thread { @Override public void run() { // Yeni iş parçacığında yürütülen görev kodu System.out.println("Thread kalıtımı ile oluşturuldu"); } } // İş parçacığını oluşturma ve başlatma MyThread myThread = new MyThread(); myThread.start(); -
Runnablearayüzünü uygulama:// Runnable'ı uygulayan sınıf class MyRunnable implements Runnable { @Override public void run() { // Yeni iş parçacığında yürütülen görev kodu System.out.println("Runnable uygulaması ile oluşturuldu"); } } // Runnable kullanarak iş parçacığı oluşturma Thread thread = new Thread(new MyRunnable()); thread.start(); -
AsyncTaskkullanımı (artık kullanımdan kaldırılmıştır): arka planda işlemleri yürütmek ve UI'yi güncellemek için. -
HandlerThreadkullanımı:LooperveHandleriçeren özel birThreadsınıfı, arka planda mesaj kuyruğu ile çalışmayı kolaylaştırır.// HandlerThread oluşturma HandlerThread handlerThread = new HandlerThread("MyHandlerThread"); handlerThread.start(); // Looper'ı alma Looper looper = handlerThread.getLooper(); // Looper'a bağlı Handler oluşturma Handler handler = new Handler(looper); // Görevi iş parçacığı kuyruğuna gönderme handler.post(new Runnable() { @Override public void run() { // handlerThread içinde yürütülen görev kodu System.out.println("HandlerThread kullanılarak oluşturulan iş parçacığı"); } }); -
ExecutorServiceveThreadPoolExecutorkullanımı: iş parçacığı havuzunu yönetmek için.import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; // Sabit boyutlu iş parçacığı havuzu oluşturma ExecutorService executor = Executors.newFixedThreadPool(2); // İş parçacığı havuzuna görev gönderme executor.execute(new Runnable() { @Override public void run() { // İş parçacığında yürütülen görev kodu System.out.println("ExecutorService kullanılarak oluşturulan iş parçacığı"); } }); // Havuzu kapatma (önemlidir, sızıntıları önlemek için) executor.shutdown(); -
Kotlin korutinleri: Android'de modern asenkron programlama yaklaşımı.
import kotlinx.coroutines.* // Arka planda bir iş parçacığında korutina başlatma GlobalScope.launch(Dispatchers.IO) { // Arka plan (IO) iş parçacığında yürütülen görev kodu println("Korutin kullanılarak oluşturulan iş parçacığı") }