Sobes.tech
Junior — Middle
84

Көпжолақты бағдарламалау және ағындарды синхрондау бойынша тәжірибеңіз қандай?

Сұралған компаниялар
Консалтика
ФСК
AstonAston

AI-дан жауап

sobes.tech AI

В Java многопоточность реализуется через классы Thread и интерфейс Runnable. Для синхронизации потоков используются ключевые слова synchronized, а также классы из пакета java.util.concurrent, например, ReentrantLock, Semaphore, CountDownLatch.

Пример простой синхронизации с использованием synchronized:

public class Counter {
    private int count = 0;

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

    public int getCount() {
        return count;
    }
}

Здесь метод increment синхронизирован, чтобы избежать состояния гонки при увеличении счетчика из нескольких потоков.

Также знаком с использованием ExecutorService для управления пулом потоков и более сложными механизмами синхронизации для обеспечения корректной работы многопоточных приложений.