Pull to refresh
1
0

User

Send message

Проблема использования CompletableFuture в нескольких потоках и её решение

Reading time 4 min
Views 21K
imageВ Java 8 появился новый класс CompletableFuture, который позволяет удобно писать асинхронный код.
При использовании CompletableFuture из нескольких потоков я столкнулся с его неочевидным поведением, а именно с тем, что callbacks на нём могут выполнятся совсем не в тех потоках, как ожидалось. Об этом и о том, как мне удалось решить проблему — я и расскажу в этой статье.

Мною разрабатывался асинхронный, неблокирующийся однопоточный клиент к серверу, который использовал потоконебезопасные структуры данных. Тесты проходили без проблем, но benchmarks иногда падали c ConcurrentModificationException на внутренних структурах однопоточного клиента.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Comments 54

Активация TRIM SSD-накопителей в Mac OS X

Reading time 1 min
Views 18K
Скоро официальный анонс Mac OS X 10.7 Lion, одним из ключевых функций новой ОС будет скрытый раздел восстановления, функции AirDrop, а так же поддержка команды TRIM, которая повышает скорость перезаписи на SSD-накопителях.
Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Comments 19

Как я делал идеальный медиапроигрыватель из Apple TV

Reading time 5 min
Views 108K
Хочу рассказать как я делал для себя медипроигрыватель на базе старой Apple TV первого поколения. Получилось устройство полностью подходящее под мои требования.


Читать дальше →
Total votes 91: ↑81 and ↓10 +71
Comments 113

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity