Java中

时间:2015-08-21 09:22:05

标签: java concurrency java.util.concurrent

我不得不沉浸在Java Executor服务中,我发现它符合我的一些要求:

  1. 我需要实施一个小型的反应系统。因此,任务可以产生新的任务。
  2. 任务作为事件的反应(例如等待令牌池)或按时间动态调度。
  3. 如果任务死亡,我需要做出相应的反应,以便任务可以由不同的事件方法组成,或者至少提供一个监听器服务(如Google guava lib)
  4. 我不喜欢自己实施它的想法。但它是一个事件监听器集合,等待事件发生并立即为此安排任务。为特定时间点调度作业也只是生成一个定时器事件,该事件由等待最近的定时器事件的等待队列触发通知框架并完成。

    那么有什么可以提供这种或默认的方式来使用Java Executor吗?

2 个答案:

答案 0 :(得分:0)

使用java并发包,该包借用了一个名为akka的非常新的框架中的概念。这应该足以做你想要的,如果不是那么使用akka。我在这里有一个例子:Executing Dependent tasks in parallel in Java

编辑:是的,在我的例子中,get方法有阻塞,只需使用

public function index(){ 
   $data['post'] = $this->floor_model->get_book(); 
   $this->load->view('user_include/header'); 
   $this->load->view('plan/floor',$data); 
}

删除任何阻止。

答案 1 :(得分:0)

我为自己找到了最终的解决方案。原来我只需要执行一项特殊任务和该任务的简单执行程序。任务本身可以使用任何手段来对事件做出反应和延迟。等待事件只是一系列任务或事件生成器,它代表事件创建任务。就这么简单。

但为什么要使用延迟构建预定的执行程序?这根本没有意义。没有人想要使用延迟安排任务或事件....