Встречается на собеседованиях • сегодня

Можно ли запустить миллион Thread

Да, теоретически можно создать миллион потоков, но на практике это неэффективно и может привести к проблемам.

Ограничения:

  • Каждый поток потребляет память (стек ~1MB по умолчанию).
  • Контекстные переключения между потоками снижают производительность.
  • Ограничения ОС (например, Linux по умолчанию ~32k потоков на процесс).

Пример (не рекомендуется!):

java
for (int i = 0; i < 1_000_000; i++) {
    new Thread(() -> {
        try { Thread.sleep(1000); } 
        catch (InterruptedException e) { e.printStackTrace(); }
    }).start();
}

Лучшая альтернатива: Используйте ExecutorService с пулами потоков (например, ForkJoinPool или ThreadPoolExecutor).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы