omo o programa multiencadeado Java é capaz de usar vários núcleos de CP

Alguém poderia fornecer uma explicação sobre como o programa multiencadeado Java (por exemplo, o contêiner de servlet Tomcat) pode usar todos os núcleos da CPU quando a JVM é apenas um processo único no linux? Existe algum artigo detalhado que descreva o assunto em detalhes?

EDIT # 1: Não estou procurando conselhos sobre como implementar um programa multiencadeado em Java. Estou procurando uma explicação de como a JVM gerencia internamente o uso de vários núcleos no linux / windows enquanto ainda é um processo único no sistema operaciona

EDIT # 2: A melhor explicação que consegui encontrar é que o Hotspot (Sun / Oracle JVM) implementa threads como threads nativos no Linux usando NPTL. Portanto, menos menos cada encadeamento em Java é um processo leve (encadeamento nativo) no Linux. É claramente visível usandops -eLf comando que imprime não apenas a identificação do processo PPID), mas também o ID do thread nativo LWP).

ais detalhes também podem ser encontrados aqui:

http: //www.velocityreviews.com/forums/t499841-java-5-threads-in-linux.htmDistinguindo entre threads Java e threads de SO?

EDIT # 3: A Wikipedia possui uma entrada curta mas agradável no NPTL, com algumas referências adicionaishttp: //en.wikipedia.org/wiki/Native_POSIX_Thread_Librar

questionAnswers(4)

yourAnswerToTheQuestion