Genial, ya me dare un tiempo para revisar eso Xd, sabes hice un codigo donde me funka el wait() y notify() quiero preguntar dos cosas:
1) Si es la forma correcta de hacerlo
2) Como funkan los blokes synchronized (entendi que se usan para suspender y resumir como wait() y notify(), pero kizas sirve para algo que no entiendo o no me he percatado)
Conocimientos que tengo sobre java?, realmente no se mucho, pero me empeño en aprender =)
Desde ya gracias por las respuestas
Saludos
El code:
Clase main:
package testing;
//<editor-fold defaultstate="collapsed" desc="Clase Main">
public class Main {
volatile int c=0;
//<editor-fold defaultstate="collapsed" desc="hilo (r)">
runnable r=new runnable(){
@Override
public void run(){
while(true){
if(!running){
try{
synchronized(this){
wait();
}
}
}
use();
}
}
};//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Constructor">
public Main(){
programa();
}//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Manipulacion del hilo">
public void programa(){
r.start();
r.running=!r.running;
try{
}
r.running=!r.running;
synchronized(r){
r.notify();
}
try{
}
r.running=!r.running;
}//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Metodo que el hilo usa">
public synchronized void use(){
c++;
}//</editor-fold>
//<editor-fold defaultstate="collapsed" desc="Metodo main">
public static void main
(String[] args
){
new Main();
}//</editor-fold>
}
//</editor-fold>
Y la clase "runnable"
//<editor-fold defaultstate="collapsed" desc="Clase runnable">
volatile boolean running=true;
//<editor-fold defaultstate="collapsed" desc="Constructor vacio">
public runnable(){
}//</editor-fold>
}
//</editor-fold>