Execute muitos processos
fork
ou apenas execute o mesmo processo várias vezes. Você não terá problemas com o estado compartilhado e seu código será fácil de entender, mas você desperdiçará muita memória
I / O Evented
Para tarefas vinculadas a I / O (que são as mais comuns), você obterá grandes ganhos de desempenho, mas tudo deve ser alterado ou você matará seu aplicativo. Além disso, seu código está espalhado por retornos de chamada, tornando difícil reunir exatamente qual é sua lógica de negócios
Tópicos
Você precisará usar o código de gerenciamento de thread java.util.concurrent
para tornar isso mais fácil, mas seu código será fácil de entender e escrever. Você só precisa ter certeza de que tudo que você usa é thread-safe.