público int getNumber() {
sincronizado ( esse ) {
tentar { Thread.sleep( 3000 ); } capturar (InterruptedException e) {}
retornar número;
}
}
público Cadeia getString() {
sincronizado ( esse ) {
retornar str;
}
}
privado Cadeia str = "Olá, Mundo!";
privado int número = 10;
público estático nulo principal ( Cadeia[] args ) {
final SynchronizedThis_Example dados = novo SynchronizedThis_Example();
Executável numberReader = novo Executável() {
público nulo executar() {
System.out.println( "Obtendo número..." );
System.out.println( data.getNumber() );
}
};
Executável stringReader = novo Executável() {
público nulo executar() {
System.out.println( "Obtendo cadeia..." );
System.out.println( data.getString() );
}
};
(novo Cadeia( numberReader ) ).start();
(novo Cadeia( stringReader ) ).start();
}
|
|