-
Faça um programa usando Lock para simular a atualização de um contador que é acessado por múltiplas threads. O contador pode diminuir e aumentar.
-
Crie uma classe SharedFifoQueue e use Conditions para controlar se a fila está vazia ou cheia. Teste usando threads produtoras e consumidoras.
-
Faça uma classe ArrayListThreadSafe usando ReadWriteLock. Teste usando threads que realizam leitura e escrita para essa estrutura.