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

Concorrência em Java: do velho oeste a atualidade

Concorrência em Java: do velho oeste a atualidade

Qual a evolução de programação concorrente em Java e quais os desafios que enfrentamos no dia a dia? Nesta talk mostrei a evolução a API de concorrência da linguagem Java desde a versão 1.0 até agora e como trabalhar de maneira eficiente no cenário atual.

Felipe Mamud

July 07, 2015
Tweet

More Decks by Felipe Mamud

Other Decks in Programming

Transcript

  1. 1996 2004 2011 2014 java.lang.Thread java.util.concurrent (JSR-166) 1.0 5.0 7

    Fork/Join Framework (JSR-166y) 8 Project Lambda Streams (sequential/parallel) 2016 9 Improve Contended Locking (JEP 143) Concorrência em Java...
  2. 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).
  3. • 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?
  4. 2004 5.0 java.util.concurrent Classes que são projetadas para serem usadas

    ​​como blocos de construção na criação de classes ou aplicativos concorrentes.
  5. Fork/Join Framework Implementação de um ExecutorService que ajuda você a

    tirar proveito da programação multicore. 2011 7
  6. Lambdas uma função que pode ser criada sem pertencer a

    qualquer classe. Streams objetos que permitem obter dados de algum fluxo de entrada ou enviar dados para algum fluxo de saída, usando um protocolo básico comum. 2014 8
  7. “Assim resplandeça a vossa luz diante dos homens, para que

    vejam as vossas boas obras e glorifiquem a vosso Pai, que está nos céus.” (Mateus 5:16) THANK YOU! FRIENDS TECHDAY COMPARTILHAR, APRENDER E CONTRIBUIR!
  8. Felipe Mamud @ftmamud Fabiano Silva @Fabiano_SS Weslley Andrade @Apolo716 Raphael

    Almeida @raphait FAÇA PARTE! FRIENDS TECHDAY COMPARTILHAR, APRENDER E CONTRIBUIR!