A Programação concorrente .
Por: roramos • 2/4/2015 • Trabalho acadêmico • 397 Palavras (2 Páginas) • 281 Visualizações
2) Se a programação concorrente traz dificuldades para a programação, quais vantagens se têm com a sua utilização?
A programação concorrente possibilita a divisão de tarefas entre dois ou mais processadores do mesmo computador de processador de núcleo duplo, possibilitando menor uso de cada um. Outra vantagem notável quando se usa a programação concorrente e o aumento de desempenho em uma tarefa importante , como exemplo a compactação de um arquivo, pode se obter em um cenário ideal, uma diminuição de 50% no tempo necessário para a compactação de um arquivo. A utilização dos dois núcleos será máxima e é possível que as tarefas menos importantes do sistema operacional e os outros programas que estavam em execução sofram uma queda de desempenho
3- Processos são programas em execução, enquanto threads são fluxos de execução em um determinado processo.
Processos apresentam estados (novo, executável, em espera, em execução e encerrado), enquanto o estado do thread é definido pelo estado do processo em que ele se encontra.
Utilizar apenas processos concorrentes pode levar a um uso exagerado da memória, visto que o estado atual dos registradores e demais atributos devem ser persistidos quando um processo sai do estado "em execução" e passa para o estado "em espera". Além disso, o controle dos processos produz um grande overhead no sistema, reduzindo a performance geral. Threads, por outro lado, possibilitam uma melhor performance e economia de memória. Note que não existem threads sem processos.
5) Pesquise o que são as propriedades wait() e notify() na programação concorrente.
São métodos que servem para ser chamados apenas dentro de métodos synchronized e servem para:
wait( ): diz a thread atual para desistir do monitor e ficar inativa até que outra thread entre no mesmo monitor e chame notify().
notify( ): torna ativa a primeira thread que chamou o método wait();
6) Quais são os estados possíveis de um processo ? Descreva-os.
Os estados de um processo são: novo, pronto, execução, terminado e em espera.
Novo: processo esta sendo criado
Pronto: Processo pronto para ser executado, sem o direito de usar o processador.
Execução: instruções do processo esta sendo executado pelo processador
Terminado: processo terminou a execução
Em espera: processo esta esperando a ocorrência de um evento.
...