Multithreading Parte 1

2298 palavras 10 páginas
Multithreading
- parte 1 - Tecnologia em Análise e
Desenvolvimento de Sistemas Profa.: Daniela Costa Terra
Email: daniela.terra@ifmg.edu.br

1

Multithreading

 É normal que os computadores pessoais sejam capazes de compilar um programa, enviar um arquivo para a impressora, receber mensagens de correio eletrônico, enfim, realizar várias tarefas ao

mesmo tempo, ou de maneira concorrente.
 Mesmo os computadores de mais de um núcleo de processamento estão, normalmente, executando mais processos que a quantidade de núcleos disponíveis.
 A impressão de paralelismo ocorre devido o sistema operacional

conceder a cada processo a chance de executar suas instruções por um determinado espaço de tempo.

2

Multithreading

 Por outro lado, estamos acostumados a pensar em um processo com uma única thread (termo abreviado de “thread of control”, ou linha de controle, em português) de execução.

 Algumas linguagens de programação, em especial a linguagem
Java, possibilitam ao programador criar processos (ou programas) com várias

threads,

isto

é,

várias

linhas

de

execução

independentes.
 Em programas com várias threads (programas multithreaded) cada

thread de execução designa uma tarefa do programa que pode executar paralelamente a outras tarefas.

3

Multithreading

um processo com uma thread

um processo com três threads

 A sincronização de threads pode ser uma tarefa de programação extremamente complexa e difícil de “debugar”
 O planejamento da execução concorrente das várias threads de um programa deve ser exaustivamente testado

4

Multithreading

 Programação multiprocesso x programação multithreading:



A mudança de contexto entre threads é mais rápida e consome menos recursos de sistema



As threads de um mesmo processo compartilham a mesma área de dados



A comunicação inter-thread é mais eficiente e mais simples

5

Multithreading

 Considerações a favor do paralelismo de tarefas em um

programa:


Programas multithreaded podem

Relacionados

  • java
    2107 palavras | 9 páginas
  • Questionário de arquitetura de computadores
    2589 palavras | 11 páginas
  • 2u00BA TP Arquitetura Henrique e Raellen 1
    3920 palavras | 16 páginas
  • paralelismo
    547 palavras | 3 páginas
  • Informação
    3531 palavras | 15 páginas
  • Como pensar em diferentes realidades
    1187 palavras | 5 páginas
  • System Call
    1561 palavras | 7 páginas
  • Hyper-Threading
    1659 palavras | 7 páginas
  • Multiprocessadores e clusters
    23132 palavras | 93 páginas
  • 498837968
    1817 palavras | 8 páginas