java – 事件驱动的未来 – 线程池

我们使用可调用的< V>和未来< V>从线程池接收终止线程的结果.我们应该调用get()来接收返回的结果.我的问题是:它不是事件驱动的.是否有任何框架可以为C中的子进程获取SIGCHLD等结果?
我想要这样的东西:(当池中的每个线程完成作业时,线程池将调用此函数)

public void fetchResult(Thread t, Runnable r, Future<Integer> result) {
    Integer x = result.get();
    /* handle x */
    /* also we have Thread and Runnable object that has terminated */
}

解决方法:

您可能想查看ThreadPoolExecutor.afterExecute()方法.在每个任务完成后调用它.你可以创建一个ThreadPoolExecutor的自定义子类,它具有你想要的基于事件的回调行为.

上一篇:(原创)c++11改进我们的模式之改进代理模式,实现通用的AOP框架


下一篇:Java中实现线程的方式