implementação de threads subjacente Java multi-nativa --thread

Java multi-threading

  • Quando fomos para ler a classe java Thread, você vai encontrar esta classe e a maior parte da biblioteca API java há uma diferença clara em todos os seus principais métodos são declarados nativo .
  • nativo em si refere-se a um método nativo, mas porque o modelo java segmentação usa o modelo de segmentação nativo do sistema operacional, onde a linha padrão nativemaneira refere-se à geração de Native POSIX Tópico Biblioteca .
  • Existem três implementações do fio: um fio de núcleo são implementadas (1: 1), implementadas implementadas usando o fio do utilizador (1: N), além da utilização de processos leves threads do usuário implementações híbridas (N: H implementada). O Java 1.3 do modelo de segmentação início amplamente utilizado modelo de segmentação nativo do sistema operacional para alcançar, ou seja, 1: 1.
  • Hotpot ele não vai interferir com o agendamento de segmento, as prioridades de rosca pode ser ajustado para fornecer recomendações de agendamento OS.
  • Linux sistema e os diferentes PID cada processo ou LWP está associado. Por outro lado, os tópicos de um aplicativo com vários segmentos em um só eo mesmo PID.
  • Porque vários segmentos têm o mesmo PID, que introduz o conceito de um grupo de discussão , enquanto o mesmo processo que conduz a todos os tópicos de um grupo de discussão e do grupo de fio de PID, que é o grupo primeiro processo leve o PID, ele é armazenado no processo descrito na tgid símbolo campo.
  • Há tópicos sobre significado real, a sua implementação é simular o processo, ele pertence aos threads de usuário, localizado biblioteca libpthread compartilhada. estrutura de dados específico na memória, é um descritor processo apontador aponta para a estrutura de dados thread_info, este é o descritor do segmento, o tamanho da área de armazenamento para a armação de duas folhas (2 * 4K).

Q & A

  • Q1: Forquilha em um programa, diferente código de localização criado (), então este programa é multi-threaded?
  • A: multi-processo de programa de relações de comunicação errado, garfo criar o mesmo programa () para criar um programa, pertencente ao pai e filho entre cada fork () (pai e filho podem ser permitida única maneira sua comunicação de processo filho tubulação , e FIFO está autorizado a se comunicar com os não Sons).
  • Q2: Quantas sistema operacional cria um processo até, quantos segmentos para criar até um processo?
  • A: o sistema operativo processa uma linha criada pela maioria tabela proc (em Linux /proc) relacionado com o tamanho, e proco tamanho da tabela depende da largura do autocarro (como barramento largura determina o número de apontadores), tal como um 4G.
  • Q3: Como faço para visualizar threads do kernel?
  • UMA:ps afx

Referência Bowen:

Multi-threaded Resumo programação: https://blog.csdn.net/skyroben/article/details/72793409
"em profundidade compreensão da Máquina Virtual Java: JVM recursos avançados e melhores práticas" para
"a compreensão em profundidade de Linux Kernel"

Acho que você gosta

Origin www.cnblogs.com/SsoZhNO-1/p/12543656.html
Recomendado
Clasificación