32 lines
536 B
Java
32 lines
536 B
Java
package org.kne.io;
|
|
|
|
public abstract class Task implements Runnable{
|
|
private volatile boolean begin=false,end=false;
|
|
private volatile Object t=new Object();
|
|
@Override
|
|
public void run() {
|
|
begin=true;
|
|
runTask();
|
|
|
|
end=true;
|
|
if(t!=null) {
|
|
synchronized(t) {
|
|
t.notifyAll();
|
|
}
|
|
}
|
|
}
|
|
public void waitfortask() {
|
|
synchronized(t){
|
|
|
|
try {
|
|
while(!end) {
|
|
t.wait(1);
|
|
}
|
|
} catch (InterruptedException e) {
|
|
|
|
e.printStackTrace();
|
|
}}
|
|
}
|
|
protected abstract void runTask();
|
|
}
|