Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Java Threads: O que há de errado com elas e como resolver?

Java Threads: O que há de errado com elas e como resolver?

Escrever código multi-thread correto e eficiente é extremamente difícil. Fazer isso manualmente com Threads é uma dor de cabeça com diversos bugs em potencial, cenários difíceis de reprodução, etc. Nesta talk mostrarei quais as alternativas que o Java nos traz como uma evolução: Concurrency Utilities, Fork/Join Framework e Parallel Streams.

3c1b9c8d515093124b8c081107d4830c?s=128

Felipe Mamud

July 03, 2015
Tweet

Transcript

  1. Java Threads: O que há de errado com elas e

    como resolver? Felipe Mamud @ftmamud
  2. Agradecimentos friendstechday.com

  3. VOCÊ ESTÁ AQUI

  4. O que são Threads?

  5. Threads são processos leves de execução de um programa.

  6. Detalhes Java Threads • Threads preemptivas (context switch); • Prioridades

    - de 1 a 10; • Mapeamento 1:1; • Compartilhamento de estado; • Mensagens - wait() e notify(); • Sincronização (monitores mutuamente exclusivos).
  7. Detalhes Java Threads Fonte: https://www.artima.com/insidejvm/ed2/threadsynch.html

  8. Java Threads: O que há de errado com elas e

    como resolver?
  9. • Primitivas de concorrência não são fáceis de usar corretamente;

    synchronized, volatile, wait() and notify() • Suporte a diferentes tipos de locks; • Falta de construções de alto nível. (Ex. semaphores, thread pools, concurrent data structure, etc.) O que há de errado com elas?
  10. Java Threads: O que há de errado com elas e

    como resolver?
  11. None
  12. "Finalmente, irmãos, tudo o que for verdadeiro, tudo o que

    for nobre, tudo o que for correto, tudo o que for puro, tudo o que for amável, tudo o que for de boa fama, se houver algo de excelente ou digno de louvor, pensem nessas coisas." (Filipenses 4:8) THANK YOU FTD GROUP, JOIN US!