Introdução
As aplicações de escala empresarial têm normalmente grandes requisitos de desempenho, o que torna vital a escolha do modelo de programação.
A programação concorrente, em que diversas atividades num mesmo programa colaboram na resolução de um problema comum, tem uma importância crescente na exploração do paralelismo existente em todos os sistemas de computação.
A programação concorrente é, no entanto, reconhecidamente difícil, uma vez que os programas podem apresentar comportamentos que violam a sua especificação sequencial e escapam à intuição do programador.
Este curso tem como objetivo dar a conhecer, de uma forma prática, os problemas fundamentais da programação concorrente no contexto da linguagem Java. É dada ênfase a um conjunto de idiomas e padrões que permitem a construção de programas corretos e com preocupações quanto ao seu desempenho.
A programação concorrente, em que diversas atividades num mesmo programa colaboram na resolução de um problema comum, tem uma importância crescente na exploração do paralelismo existente em todos os sistemas de computação.
A programação concorrente é, no entanto, reconhecidamente difícil, uma vez que os programas podem apresentar comportamentos que violam a sua especificação sequencial e escapam à intuição do programador.
Este curso tem como objetivo dar a conhecer, de uma forma prática, os problemas fundamentais da programação concorrente no contexto da linguagem Java. É dada ênfase a um conjunto de idiomas e padrões que permitem a construção de programas corretos e com preocupações quanto ao seu desempenho.
Objetivos
Objetivos Gerais:
No fim do Curso, os Participantes serão capazes de:
- Oferecer uma formação teórico-prática avançada, sólida, especializada e atualizada, que prepare os formandos para uma carreira de sucesso na área de desenvolvimento de aplicações concorrentes em Java.
- Dotar os formandos de versatilidade, criatividade, espírito crítico e rigor técnico para enfrentar com autonomia os desafios de um meio tecnológico exigente e em permanente mudança.
No fim do Curso, os Participantes serão capazes de:
- Decidir quais os idiomas e padrões de concorrência a usar quando confrontado com um problema concorrente;
- Planear e desenvolver soluções com base nessa escolha;
- Avaliar a performance das soluções implementadas.
Programa
- Concorrência e problemas.
- Exclusão mútua.
- Espera por eventos.
- Modelos produtor/consumidor e escritor/leitor.
- Análise de performance.
- Discussão de casos práticos.
Interessa a
1. Profissionais das tecnologias da informação que pretendam aprofundar o seu conhecimento sobre os princípios, conceitos, modelos e práticas associadas ao desenvolvimento de software concorrente:
2. Todos os interessados em aprofundar o seu conhecimento neste tema.
- A ênfase colocada nos princípios e conceitos fornece uma compreensão sobre os problemas e soluções existentes;
- Os modelos fornecem uma percepção do comportamento concorrente dos sistemas e ajudam a perceber a lógica associada a implementações particulares;
- Os exemplos de código e exercícios nas diversas linguagens fornecem a prática e experiência necessárias ao desenvolvimento de soluções concorrentes.
2. Todos os interessados em aprofundar o seu conhecimento neste tema.
Métodos de ensino
- Apesar de alguns conceitos teóricos precisarem de ser abordados e aprofundados, o foco do curso é em exemplos práticos;
- Os formandos são encorajados a trabalhar cada um dos exemplos à medida que a discussão avança – nada é mais convincente do que código real que funciona.
Data e horário
Esta formação teve a duração de 12 horas.