Programação concorrente
O Java 2 Platform, Standard Edition versão 5.0 (J2SE 5.0), que também é conhecida como Tiger, forneceu um novo caminho para multithreading na linguagem de programação Java. Os mecanismos originais paracoordenar tópicos com wait () e notify () são agora reforçada commecanismos novos e sofisticados para trabalhar com threads. Os novos mecanismos são parte do pacote java.util.concurrent, que visa oferecer um conjunto padrão de utilitários de simultaneidade que facilitarão a tarefa dedesenvolvimento de aplicações multithread e servidores. Além disso,esses padrões irá melhorar a qualidade de tais aplicações. O pacote foidefinido através do Java Community Process como a JSR 166: utilitários de simultaneidade.
Tais problemas podem ser superados usando classes de utilitários para controlar o bloqueio, como Mutex, que é outro termo para um bloqueio. Um mutex, no entanto, não faz ninho como métodos de sincronização ou blocos. public class Mutex { public void acquire() throws InterruptedException { } public void release() { } public boolean attempt(long msec) throws InterruptedException { }
}
O exemplo a seguir mostra um programa Java ™ criação de uma seção crítica de código. Em Java, qualquer objeto ou array pode funcionar de forma semelhante a um mutex usando a palavra-chave synchronized em um bloco de código ou um método.
/*
FileName: ATEST16.java A saída deste exemplo é