Если у вас 4 ядра, оптимальный размер пула потоков может быть 4, так как это минимальное количество потоков, необходимое для работы всех процессоров. Тем не менее, вы можете иметь любое количество незанятых / ожидающих потоков примерно до 10K. Это переломный момент в библиотеке потоков JVM, поэтому переход на Scala не будет иметь никакого значения. Примечание: у вас может быть намного больше тем, я бы не рекомендовал это.
Если у вас 10K потоков и вы хотите больше, я советую вам купить другой сервер. Вы можете купить много для сервера примерно за 1000 долларов.
Я выполнил тест, создав на моей машине множество потоков с обновлением 26 для Java 6, 32-битным и 64-битным в Ubuntu 11. Первые 1000 потоков заняли 72 мс, для перехода от 31 к 32 КБ - 3861 мс, чтобы создать. Приблизительно в 32K потоков я получил эту ошибку
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:640)