永发信息网

Java回调以及如何获取线程的执行结果

答案:1  悬赏:60  手机版
解决时间 2021-03-05 13:06
  • 提问者网友:雪舞兮
  • 2021-03-05 01:44
Java回调以及如何获取线程的执行结果
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-03-05 02:45
软件模块之间存在调用的接口,从调用方式来看,有同步调用、回调、异步调用这三种方式:
同步调用是是一种阻塞式调用,调用方要等待被调用方执行完毕返回后才能获取调用的执行结果,是一种单向调用。
回调是一种双向调用,调用方在执行被调用方后,被调用方会调用被调用方的接口;
异步调用是一种类似消息或者事件的机制,接口在收到某个消息或发生某事件时,会主动通知客户方,通常使用回调来实现异步调用。
Java回调的必须要素: 
1.雇主类必须有可以被观察者调用的方法A; 
2.观察者必须持有可以调用A的对象的引用。
在实际工作中,我们通常将方法A以interface或者内部类的形式来实现,然后把包含有A的类的对象引用传递到观察者中。
Java中的线程的返回值是void,并且是一个异步执行流,所以我们没有直接的方法来获取线程执行后的结果,即不能直接知道线程何时结束,以及合适去获取线程执行任务后的结果。由于回调的存在,我们可以在线程中以回调的方式通知线程的调用者线程的结束时间,并可以将任务的结果通过回调回送到调用者中。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯