Programação

603 palavras 3 páginas
Programação concorrente usando threads POSIX e Java

Programação concorrente usando threads
POSIX e Java
MAC 431 / MAC 5742
Introdução à Computação Paralela e Distribuída

Daniel Cordeiro
DCC - IME - USP

13 de agosto de 2012

Programação concorrente usando threads POSIX e Java
Introdução

Por que escrever programas concorrentes?

Desempenho para explorar arquiteturas paralelas com memória compartilhada (SMP, hyperthreaded, multi-core,
NUMA, etc.)
Modelagem para descrever o paralelismo natural de algumas aplicações (tarefas independentes, sobreposição de operações de E/S, etc.)

Daniel Cordeiro – http://www.ime.usp.br/~danielc/

13 de agosto de 2012

2 / 28

Programação concorrente usando threads POSIX e Java
Processos vs. threads

Processos
Cada processo tem seu próprio espaço de endereçamento: segmento de texto: contém o código executável segmento de dados: contém as variáveis globais pilha: contém dados temporários (variáveis locais, endereços de retorno, etc.)

O contador de programa e os registradores da CPU fazem parte do contexto do programa
O contexto do programa é o conjunto mínimo de dados usados por um processo e deve ser gravado quando um processo é interrompido e relido quando um processo é retomado

Daniel Cordeiro – http://www.ime.usp.br/~danielc/

13 de agosto de 2012

3 / 28

Programação concorrente usando threads POSIX e Java
Processos vs. threads

Threads
Permitem múltiplas atividades independentes dentro de um único processo
Threads de um mesmo processo compartilham:
Todo o espaço de endereçamento, exceto a pilha, os registradores e o contador de programa
Arquivos abertos
Outros recursos

Também são chamados de processos leves, pois a criação das threads e a troca de contexto são mais rápidas
Permitem um alto grau de cooperação entre as atividades!

Daniel Cordeiro – http://www.ime.usp.br/~danielc/

13 de agosto de 2012

4 / 28

Programação concorrente usando threads

Relacionados

  • Programação
    6472 palavras | 26 páginas
  • Programação
    511 palavras | 3 páginas
  • programacao
    27031 palavras | 109 páginas
  • Programação
    1871 palavras | 8 páginas
  • programação
    2263 palavras | 10 páginas
  • Programação
    301 palavras | 2 páginas
  • Programação
    281 palavras | 2 páginas
  • Programação
    998 palavras | 4 páginas
  • programaçao
    843 palavras | 4 páginas
  • programacao
    47858 palavras | 192 páginas