java 中 ScheduledExecutorService 创建的多线程和 runnable
发布网友
发布时间:2022-05-24 18:37
我来回答
共1个回答
热心网友
时间:2023-10-25 12:21
Rrunnable是线程类需要实现的接口,scheledExecutorService是管理一堆线程对象的可选工具。
不使用scheledExecutorService的话,一些线程控制操作需要自己完成,一个线程还好说,多个线程并行的情况就比较麻烦。
多线程控制操作比如:
(1)等待或判断所有线程执行完
(2)立刻中断所有线程
(3)线程队列实现,通过设定,可以*同时(并行)执行的任务数,多余的任务等待执行。
例子:有7个任务,限定并行数为3
只有3个任务能同时执行,剩余任务等待执行,3个并行任务中1个执行完毕时,立刻从等待任务中取一个去执行,直到所有任务执行完。
这个过程中,所有时间点上有且仅有3个任务在运行,保证效率的同时,也很好控制了内存使用。
ps:Java中,实现线程类的接口和类有三个:Runnable(接口),Callable(接口),Thread(类)