Jump to content

O que é overhead em threads ?


Guest gnoo

Recommended Posts

Saudações,

eu ando a dar uma vista de olhos sobre threads, e quando estava ler um conteúdo sobre algumas diferenças entre threads e processos, uma das diferenças era:

Citar

require less overhead to create and terminate

 a minha questão é sobre o significado de overhead neste contexto em especifico.

se alguém souber a resposta agradecia a explicação.

Abraços, obrigado.

Link to comment
Share on other sites

No caso do Windows, todo processo precisa, primeiro, construir o contexto do processo, a thread primária e só então o "processamento" do processo começa... No caso do Linux e outros Unixes, o contexto do processo é "forkado" do processo inicial (init?), ou seja, copiado do processo original, mas qualquer alteração do processo filho, incluindo a chamada a exec,  criará uma nova cópia ao ser modificado (Copy On Write)...

Uma thread, por outro lado, apenas cria o contexto da thread e esta começa sua execução no ponto de entrada... Ou seja, ela é disparada mais rapidamente e usa menos recursos que um processo (daí o menor "overhead").

Link to comment
Share on other sites

Houve um utilizador no servidor do discord que dá pelo nickname @dedecos, não sei qual é o utilizador dele aqui no fórum que deu também uma resposta interessante, se estiver correta, passo a citar:

Citar

creio que era no sentido de que criar e terminar um processo é um procedimento mais custoso em termos de processamento e memória do que criar uma thread
o termo overhead normalmente significa uma alta taxa de processamento na execução de um código ou módulo específico

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...