Что такое starvation потока?

Senior
192 просмотров
AFK Offer AI

Starvation — поток не может получить ресурс, потому что другие потоки постоянно его забирают. Пример: unfair lock, и высокоприоритетные потоки всегда получают монитор первыми. Или ReadWriteLock без fairness — если читатели постоянно приходят, writer никогда не запишет. Решение: fair-режим в ReentrantLock(true), правильные приоритеты потоков, ограничение количества concurrent readers. Thread.setPriority() может помочь, но JVM не гарантирует точное следование приоритетам.

Следующий вопрос

Как Large Pages влияют на производительность JVM?