Sobes.tech
Junior — Middle

Projelerinizde hangi iş parçacığı senkronizasyon mekanizmalarını kullandınız?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java projelerinde thread senkronizasyonu için aşağıdaki mekanizmaları kullandım:

  • Anahtar kelime synchronized — metodları veya kod bloklarını kilitlemek için, paylaşılan kaynaklara özel erişimi sağlamak amacıyla.

  • java.util.concurrent paketinden sınıflar:

    • ReentrantLocksynchronized'a daha esnek bir alternatif, kilidi deneme ve zaman aşımı imkanıyla.
    • CountDownLatch, Semaphore, CyclicBarrier — birkaç thread'in çalışmalarını koordine etmek için.
    • ConcurrentHashMap — paralel erişim için thread-safe koleksiyon.
  • Volatile değişkenler — değişikliklerin görünürlüğünü sağlamak için, tam kilitleme olmadan threadler arasında.

Synchronized kullanımı örneği:

public class Counter {
    private int count = 0;

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

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