PC 2024.2
Horários
- 3 14:00-16:00 (CAA 305)
- 5 16:00-18:00 (CAA 305)
Comunicação
Professor: temmanuel@computacao.ufcg.edu.br
Assistentes:
- Geraldo Sobreira - geraldo.sobreira.junior@ccc.ufcg.edu.br
- João V. Lucena - joao.victor.lucena@ccc.ufcg.edu.br
Avaliação
A avaliação será dada por três provas e por atividades práticas em laboratório. O percentual dos laboratório na nota final será 40%.
Ementa
A disciplina tem os seguintes objetivos gerais:
- Entender os problemas causados pela execução concorrente de tarefas que cooperam.
- Entender os mecanismos usados para permitir compartilhamento de recursos e cooperação em tarefas concorrentes.
- Entender os fatores que afetam o desempenho de programas concorrentes.
Cronograma e plano de aulas
Exercícios recomanddos
The LittleBook of Semaphores
- Problemas ordinários 3.1 3.3 3.4 3.5 3.6 3.8 4.1 4.2 4.3 4.4
- Problemas extraordinários 3.7 6.2 5.2 5.3
- Problemas mais que extraordinários 4.5 5.1 7.1
Referências bibliográficas
- Maurice H., Shavit,N. The art of multiprocessor programming, primeira edição, Morgan Kaufmann, 2008.
- Goetz,B., Peierls, T. Bloch J., Bowbeer J., Holmes D., Lea, D. Java concorrente na prática, primeira edição, Altabooks, 2008.
- Garg, V.K. Concurrent and distributed programming in Java, JohnWiley & Sons, 2004.
- Goetz, B., Peierls, T., Lea, D., Bloch, J., Bowbeer, J. and Holmes, D., 2006. Java concurrency in practice. Pearson Education.
- Donovan, Alan AA, and Brian W. Kernighan. The Go programming language. Addison-Wesley Professional, 2015.
- McKenney, P. (Editor), Is Parallel Programming Hard, and, if so, what can You do about it?
- Garg V.K. Concurrent and distributed programming in Java, JohnWiley & Sons, 2004.
- Oracle, The Java Tutorials: Concurrency
- Drepper, U. What Every Programmer Should Know About Memory