Threads e Sockets<br />Maurício Linhares –mauricio.linhares@gmail.com<br />
Sockets<br />Meio pelo qual aplicações Java acessam serviços pela rede;<br />Podem ser usados para transferência de dados ...
Sockets clientes<br />São criados através da classe Socket, usando um host e porta na qual o socket deve se conectar;<br /...
Sockets servidores<br />Funcionam abrindo uma porta no host onde estão executando e aceitando conexões nessa porta.<br />A...
Threads e programação concorrente<br />Poder de processamento não deve aumentar no longo prazo;<br />Computadores com múlt...
Threads –oldstyle<br />Pegue um recurso específico;<br />Crie barreiras de acesso pra ele (synchronized);<br />Faça N thre...
Threads – new style<br />Pegue um conjunto de informações;<br />Quebre elas em pedaços que falam sentido;<br />Quebre cada...
Programação concorrente...<br />...não é sobre contenção de dados;<br />...não é sobre compartilhar informações;<br />...n...
Quando não usar threads?<br />Quando o seu problema não for “quebrável” em pequenos pedaços;<br />Quando não for possível ...
Criando um par cliente/servidor de chat em Java<br />Usando sockets, threads, XML, arquivos...<br />
Próximos SlideShares
Carregando em…5
×

Aulas de Java Avançado 2- Faculdade iDez 2010

1.320 visualizações

Publicada em

1 comentário
1 gostou
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
1.320
No SlideShare
0
A partir de incorporações
0
Número de incorporações
79
Ações
Compartilhamentos
0
Downloads
18
Comentários
1
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aulas de Java Avançado 2- Faculdade iDez 2010

  1. 1. Threads e Sockets<br />Maurício Linhares –mauricio.linhares@gmail.com<br />
  2. 2. Sockets<br />Meio pelo qual aplicações Java acessam serviços pela rede;<br />Podem ser usados para transferência de dados usando TCP ou UDP;<br />É possível escrever clientes (que fazem conexões) e servidores (que aceitam conexões);<br />
  3. 3. Sockets clientes<br />São criados através da classe Socket, usando um host e porta na qual o socket deve se conectar;<br />São canais de comunicação bidirecional, onde o código pode escrever e ler informações ao mesmo tempo;<br />
  4. 4. Sockets servidores<br />Funcionam abrindo uma porta no host onde estão executando e aceitando conexões nessa porta.<br />Apenas um único servidor pode fazer o “bind” numa porta para cada placa de rede, não é possível ter vários servidores em uma única porta;<br />Quando aceitam conexões, essas conexões são Sockets comuns para os clientes;<br />
  5. 5. Threads e programação concorrente<br />Poder de processamento não deve aumentar no longo prazo;<br />Computadores com múltiplos cores são uma necessidade real;<br />Threads e programação concorrente são a saída para o uso desses recursos disponíveis;<br />
  6. 6. Threads –oldstyle<br />Pegue um recurso específico;<br />Crie barreiras de acesso pra ele (synchronized);<br />Faça N threads utilizarem esse recurso;<br />
  7. 7. Threads – new style<br />Pegue um conjunto de informações;<br />Quebre elas em pedaços que falam sentido;<br />Quebre cada pedaço em uma unidade de computação;<br />Execute as unidades de computação e depois reúna os resultados;<br />
  8. 8. Programação concorrente...<br />...não é sobre contenção de dados;<br />...não é sobre compartilhar informações;<br />...não é sobre manter estado em objetos;<br />…nãoésobrefazertudoficarmaisrápido;<br />
  9. 9. Quando não usar threads?<br />Quando o seu problema não for “quebrável” em pequenos pedaços;<br />Quando não for possível executar os vários pedaços de forma concorrente (eles dependem uns dos outros);<br />Quando tudo o que você precisa fazer deve ser sincronizado;<br />
  10. 10. Criando um par cliente/servidor de chat em Java<br />Usando sockets, threads, XML, arquivos...<br />

×