Threads em ambientes com mais de um processador

Olá Pessoal,

Estou com um dúvida cruel a respeito de Threads em ambientes com mais de um processador.

De quem é a responsabilidade do gerenciamento das Threads entre os processadores disponíveis? É o Sistema Operacional ou da JVM?

É necessário o programador Java adicionar algum comando na sua programação indicando que a aplicação irá ser executada em um ambiente com mais de um processador, para que eu possa tirar proveito de todos os processadores disponíveis?

Agradeço desde já a atenção de todos,

Santos.

Não existe nada determinado sobre isso na plataforma, depende apenas da JVM que voce usar.

A maioria usa direto threads nativas e o SO que se vira ou “green-threads” que são gerenciadas pela JVM. A primeira opção é a mais comum e preferivel no caso de vários processadores.