Ir para conteúdo
Fórum Script Brasil
  • 0

SetPriority


ena

Pergunta

Boa noite,

Sou iniciante em java e estou fazendo uma tarefa que tem uma falha que não consigo identificar.

A tarefa é a seguinte: Em seu campus há um grande estacionamento que possui 30 vagas. Verifica-se que, enquanto o mesmo tiver vagas, não existirão prioridades para estacionar. Quando o estacionamento estiver cheio, uma fila será organizada, em que os professores possuem a mais alta prioridade, sendo seguidos pelos funcionários e, posteriormente, pelos alunos. Utilize Java com Threads para “simular” este problema. Utilize 10 professores, 15 funcionários, 30 alunos.

Eu fiz o código utilizando setPriority e não compila como esperado.

Segue abaixo o código que eu fiz.

import java.util.concurrent.*;

public class Estacionamento extends Thread

{

private static Semaphore estacionamento = new Semaphore (10, true);

public Estacionamento (String nome )

{

super (nome);

}

public void run ()

{

try

{

estacionamento.acquire();

System.out.println(getName () + " ocupou vaga. ");

sleep( (long) (Math.random() * 10000 ));

System.out.println (getName () + " liberou vaga. " );

estacionamento.release ();

}

catch (InterruptedException ie)

{

ie.printStackTrace();

}

}

public static void main(String[] args)

{

for( int i = 0; i < 30; i++ )

{

Estacionamento estacionamento = new Estacionamento ("Carro # " + i);

estacionamento.start();

}

for( int p = 0; p < 10; p++ )

{

Estacionamento professor = new Estacionamento ( "Carro professor " + p );

professor.setPriority (Thread.MAX_PRIORITY);

professor.start();

}

for( int f = 0; f < 15; f++ )

{

Estacionamento funcionario = new Estacionamento ( "Carro funcionario " + f );

funcionario.setPriority (Thread.NORM_PRIORITY);

funcionario.start();

}

for( int a = 0; a < 30; a++ )

{

Estacionamento aluno = new Estacionamento ( "Carro aluno " + a );

aluno.setPriority (Thread.MIN_PRIORITY);

aluno.start();

}

}

}

Editado por ena
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...