Java 阻塞队列中的异步执行

Java 阻塞队列中的异步执行,java,asynchronous,collections,blockingqueue,Java,Asynchronous,Collections,Blockingqueue,我正在使用Java collections BlockingQueue进行数据处理。当前代码看起来像 while(true){ if(queue.size() > 0) handle(queue.take()) } 有没有一种方法(在Java或其他框架中)可以异步处理它,比如 queue.setHandler(new Handler<E>()); queue.setHandler(new Handler()); 在教室下面的某个地方 class H

我正在使用Java collections BlockingQueue进行数据处理。当前代码看起来像

while(true){
    if(queue.size() > 0)
        handle(queue.take())
}
有没有一种方法(在Java或其他框架中)可以异步处理它,比如

queue.setHandler(new Handler<E>());
queue.setHandler(new Handler());
在教室下面的某个地方

class Handler implements IHandler<E>{
    void handle(E e){
        handle(e)
    }
}
类处理程序实现IHandler{
无效句柄(E){
手柄(e)
}
}

这非常广泛,但您可能正在寻找RxJava.ExecutorService ExecutorService=Executors.newFixedThreadPool(10);executorService.execute(new Runnable(){public void run(){System.out.println(“异步任务”);});executorService.shutdown();visit@sunrise76-ES不是一个选项,方法不是创建线程,框架应该同步调用处理程序,类似于侦听器框架。如果(queue.size()>0)过多,则行。它消耗CPU时间,但不添加任何有用的功能。它可以安全地删除。这是非常广泛的,但您可能正在寻找RxJava.ExecutorService ExecutorService=Executors.newFixedThreadPool(10);executorService.execute(new Runnable(){public void run(){System.out.println(“异步任务”);});executorService.shutdown();visit@sunrise76-ES不是一个选项,方法不是创建线程,框架应该同步调用处理程序,类似于侦听器框架。如果(queue.size()>0)过多,则行。它消耗CPU时间,但不添加任何有用的功能。它可以安全地移除。