Sobes.tech
Junior — Middle

Akış nesne üzerinde nasıl kontrol sağlar ve çok iş parçacıklı ortamda nasıl yakalanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Çok iş parçacıklı bir ortamda, bir iş parçacığı, kaynaklara özel erişimi sağlayan senkronizasyon mekanizmaları aracılığıyla bir nesne üzerinde kontrol sağlar. Android'de (ve genel olarak Java'da) synchronized, ReentrantLock ve diğerleri gibi anahtar kelimeler ve sınıflar kullanılır.

Bir iş parçacığı bir nesneye erişmek istediğinde, o nesnenin monitörünü (lock) yakalamaya çalışır. Monitör boşsa, iş parçacığı kontrolü ele alır ve nesne üzerinde işlemler yapabilir. Monitör başka bir iş parçacığı tarafından kullanılıyorsa, mevcut iş parçacığı engellenir ve serbest bırakılmasını bekler.

Synchronized kullanımıyla örnek:

public class Counter {
    private int count = 0;

    public synchronized void increment() {
        count++;
    }

    public synchronized int getCount() {
        return count;
    }
}

Burada, increment ve getCount metodları senkronize edilmiştir, bu da sadece bir iş parçacığının aynı anda bu metodları çalıştırabileceği anlamına gelir ve yarış koşullarını önler.

Dolayısıyla, bir nesneyi yakalamak, o nesne üzerinde monitör (lock) kilidini almak anlamına gelir ve bu, nesnenin durumuna güvenli erişimi sağlar.