Rita,
Cada objeto Java tem o que chamamos de monitor, um mecanismo que permite acesso sincronizado de v�rias threads a trechos de c�digo num m�todo desse objeto. Esse monitor controla uma fila de uma ou mais threads que est�o esperando por uma notifica��o. Para fazer com que um thread espere chamamos o m�todo wait(), para notificar uma thread que est� na fila usamos notify. Para notificar todas usamos notifyAll.
Esses m�todos s� podem ser chamados por uma thread que � dona do monitor do objeto. Para ser dona de um monitor de um objeto uma thread precisa estar em uma de 3 situa��es:
-Estar executando um m�todo sincronizado desse objeto;
-Estar num bloco sincronizado que sincroniza esse objeto;
-Para objetos do tipo Class, ao executar um m�todo est�tico sincronizado dessa classe;
Quanto aos shift existe uma excelente explica��o em:
http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#5121
Espero ter ajudado,
Flexa
At 12:07 17/1/2003, you wrote:
Qual a diferenca entre wait(), notify(), notifyAll();
Alguem pode me explicar :public class TestShift {
- << Un-signed left shift
- >> Signed right shift
- >>> Un-signed right shift
public static void main(String args[]) {
int x = 1;
x = x >> 31;
int y = -1;
y = y >> 31;
System.out.println("The ouput of x is " + x );
System.out.println("The ouput of y is " + y );
}
}
public class TestShift {
public static void main(String args[]) {
int x = 1;
x = x << 31;
int y = -1;
y = y << 31;
System.out.println("The output of x is " + x );
System.out.println("The output of y is " + y );
}
}
public class TestShift {
public static void main(String args[]) {
int x = 1;
x = x >>> 31;
int y = -1;
y = y >>> 31;
System.out.println("The output of x is " + x );
System.out.println("The output of y is " + y );
}
}
