Escolar Documentos
Profissional Documentos
Cultura Documentos
Exercícios Sobre Threads
Exercícios Sobre Threads
2. Exercício: considere um simulador de corridas de fórmula 1 que simula uma disputa entre dois
pilotos: Rubinho e Massa.
•Cada carro funciona de forma independente;
•O tempo de cada volta é dado por um valor randômico (0 a 1000ms), e o programa deve esperar
por este tempo sem fazer nada para então iniciar a próxima volta;
•Ao final da corrida (quando os dois carros completam 10 voltas): o simulador mostra o tempo
acumulado para cada um dos pilotos e aponta o vencedor ou empate.
3. Implemente uma classe que implemente a classe Runnable e possua o atributo estático do tipo
inteiro com identificador valor. O método run deve conter um laço que deve executar 100 vezes, a
cada interação realizar a impressão do identificador da thread e valor, incrementar o atributo a valor
em uma unidade e ao final imprimir o identificador da thread e valor novamente. Crie uma classe de
teste que e crie um objeto da classe criada e dispare duas threads passando este objeto. Observe o
resultado obtido.
5. Implemente uma caixa onde um inteiro pode ser armazenado. Se uma thread tentar armazenar um
inteiro em uma caixa cheia ela será suspensa até que alguma thread retire o inteiro da caixa. Do
mesmo modo, se uma thread tentar retirar um inteiro de uma caixa vazia ela será suspensa até que
uma outra thread coloque um inteiro na caixa. Esse é um exemplo do problema do
produtor/consumidor.