我正在创建一个系统,它将在收到用户命令后执行几种操作。一些命令是:
系统有一个摄像头,因此最后两个任务不能并行执行。但是在捕捉图像时,它可以感知温度并将其返回给用户。
我认为要实现它我需要进行某种并行和非并行的任务执行。我不知道是否存在java并发存在的东西,我可以使用它来实现这一点。我不是要求任何代码。关于它如何完成的任何指针对我都非常有帮助。
答案 0 :(得分:1)
是的,Java有执行命令的特殊框架。请参阅java.util.concurrent.Executor层次结构。
例如,java.util.concurrent.ThreadPoolExecutor
基于内部线程池执行runnables。最大线程池大小为1表示没有并行执行。
有许多使用示例,例如here:
int corePoolSize = 5; int maxPoolSize = 10; long keepAliveTime = 5000;
ExecutorService threadPoolExecutor =
new ThreadPoolExecutor(
corePoolSize,
maxPoolSize,
keepAliveTime,
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>());