Programaçao concorrente atps
Primeira etapa:
Descrição: Identificar via pesquisa, linguagens de programação que possuem suporte à programação concorrente ou paralela e os recursos que as mesmas possuem para prover tal suporte.
As linguagens de programação concorrente são linguagens de programação que provem construções para a concorrência, as linguagens mais utilizadas para construções são Java e C#. Ambas utilizam o modelo de memória compartilhada, com o bloqueio sendo fornecido por monitores. Apesar disso, o modelo de troca de mensagens pode ser implementado sobre o modelo de memória compartilhada. Entre linguagens que utilizam o modelo de troca de mensagens, Erlang é possivelmente a mais utilizada pela indústria atualmente. Outras linguagens como C e C++ oferecem suporte a concorrência através do uso de bibliotecas.
Segunda etapa:
Descrição: Citar, para cada linguagem identificada na primeira etapa, um exemplo de codificação. Os exemplos de código podem ser simples, de aplicações mais básicas.
JAVA
import java.util.logging.Level; import java.util.logging.Logger; class Threaded extends Thread { Synchronized1 base; public Threaded( Synchronized1 bse ) { this.base = bse; } } public class Synchronized1 { public Synchronized1() { } public void ini() { new Threaded( this ) { public void run() { while( true ) { synchronized( base ) { System.out.print( "Este é A, agora vai mostrar B.\n" ); try