62,614
社区成员
发帖
与我相关
我的任务
分享
public interface ThreadListener {
public void threadStart(Object source);
public void threadFinished(Object source);
}
public class MyThread extends Thread {
public ThreadListener listener;
public void setThreadListener(ThreadListener tl){
this.listener = tl;
}
public void run(){
if(this.listener != null)
this.listener.threadStart(this);
//......
if(this.listener != null)
this.listener.threadFinished(this);
}
}
public class Main implements ThreadListener {
public void threadStart(Object source){
System.out.println("线程开始了");
}
public void threadFinished(Object source){
System.out.println("线程结束了");
}
private void test(){
Thread[] threads = new Thread[10];
for(int i=0; i<threads.length; i++){
MyThread thread = new MyThread();
thread.setThreadListener(this);
thread.start();
threads[i] = thread;
}
for(Thread thead : threads){
thread.join();
}
}
public static void main(String[] args){
Test t = new Test();
t.test();
}
}
ListenableFuture<XX> future = ...;
Futures.addCallback(future,
new FutureCallback<XX> {
public void onSuccess(XX result) {
xx(result);
}
public void onFailure(Throwable t) {
reportError(t);
}
});