Threads - Coordenação
Exercícios para praticar
- Nível Fácil - Nível Intermédio - Nível Avançado
1. Entrega de Pizzas
Dúvida neste exercício?Desenvolva um programa no qual se simula a confecção e entrega de pizzas ao domicílio. Este deverá conter os seguintes componentes:
- Moto de entrega - tem como atributo uma mala para transportar as pizzas que deverá ser representada por uma lista. Esta mala tem uma capacidade máxima de 6 pizzas. Dispõe ainda de um método para colocar pizzas acabadas de fazer na mala, e um método para fazer as entregas das pizzas que estão nesta;
- Cozinheiro - deve ser uma thread que está constantemente a cozinhar pizzas e a coloca-las na mala da moto, caso a sua capacidade máxima não tenha ainda sido atingida;
- Motorista - será também uma thread que procederá à entrega das pizzas, sempre que a mala estiver cheia. Considere que o processo de entrega de todas as pizzas da mala demora 3 segundos.
Para terminar crie um método main para testar o seu programa.
2. Escavação numa obra
Dúvida neste exercício?Desenvolva uma aplicação que simule a escavação de terras numa obra. Neste programa deverá existir uma escavadora que vai extraindo uma quantidade aleatória de terra entre 10 a 80kg. Depois de a extrair terá de a colocar num camião que tem uma capacidade máxima de 1500kg. Ao ficar cheio o camião deve descarregar a terra num terreno próximo, operação que demora 5 segundos a ser concluída. Durante este tempo a escavadora terá de ficar a aguardar para voltar a ter o camião disponível para receber mais terra.
Comece por identificar quais as threads e recurso partilhado que vão existir no seu programa e faça a implementação dos mesmos. Para terminar desenvolva um um método main para poder testar a sua aplicação.