Механизмы CAS и FAA глазами Java разработчика

В данной статье мы рассмотрим механизмы обеспечения многопоточных вычислений CAS и FAA с точки зрения Java разработчика. Содержание статьи: Введение 1.1. Определение CAS и FAA 1.2. Обоснование важности атомарных операций1.3. Краткий обзор применения CAS и FAA в многопоточных приложениях CAS (Compare-and-Swap) 2.1. Описание механизма CAS 2.2. Примеры использования CAS в Java 2.2.1. AtomicInteger, AtomicLong и … —Читать далее—

ExecutorService в Java и примеры его применения.

ExecutorService – это интерфейс Java, который предоставляет удобный способ управления потоками исполнения. Он позволяет создавать пул потоков исполнения и выполнять задачи в этих потоках. Существует несколько ключевых реализаций ExecutorService: ThreadPoolExecutor ScheduledThreadPoolExecutor CachedThreadPoolExecutor ForkJoinPool Рассмотрим каждый из них детально с примером их использования. ThreadPoolExecutor ThreadPoolExecutor – это реализация интерфейса ExecutorService в Java, который предоставляет пул потоков … —Читать далее—

Как работает volatile в Java

java-volatile

Ключевое слово volatile в Java используется для обозначения переменных, которые могут быть изменены разными потоками. Оно гарантирует видимость изменений, сделанных одним потоком, другим потокам, а также упорядочивает обращения к таким переменным. Основная задача, которую решает ключевое слово volatile: Обеспечение видимости изменений: когда один поток изменяет значение переменной, все другие потоки немедленно видят это изменение. Часто … —Читать далее—

Алгоритмы и структуры данных в Java

Разработка программного обеспечения всегда связана с обработкой или хранением информации. Эту информацию мы обрабатываем, изменяем, либо храним в памяти. Как инженеры, мы, чаще всего, используем термин “данные”, вместо информации. Для хранения данных используются структуры данных, а для их обработки – алгоритмы. Независимо от языка программирования, предметной области, мы всегда сталкиваемся с этими двумя сущностями (структуры данных … —Читать далее—