java 异步回调

来源:互联网 发布:苹果4s4g网络 编辑:程序博客网 时间:2024/06/10 14:35

异步回调的例子如下:

CallBackBodypackage add.asyn;public abstract class CallBackBody {void onSuccess(Object context){System.out.println("onSuccess");}void onFailure(Object context){System.out.println("onFailure");}abstract void execute(Object context) throws Exception;}CallBackTaskpackage add.asyn;public class CallBackTask {private CallBackBody body;public CallBackTask(CallBackBody body){this.body = body;}protected void start(final Object context){final Thread t = new Thread(new Runnable(){@Overridepublic void run() {try {body.execute(context);} catch (Exception e) {e.printStackTrace();body.onFailure(context);}body.onSuccess(context);}});t.start();}}CallBackApppackage add.asyn;public class CallBackApp {public static void main(String[] args) {System.out.println("执行异步任务");final Object context = "上下文信息";new CallBackTask(new CallBackBody(){@Overridevoid execute(Object context) throws Exception {System.out.println("\n正在执行耗时操作...");System.out.println(context);Thread.sleep(5000);System.out.println("\n执行完成!");}}).start(context);System.out.println("异步执行开始请等待");}}


0 0
原创粉丝点击