(1)判断线程池中的核心线程是否都在执行任务,如果没有(核心线程是闲置的,或者核心线程是无用的),创建一个新的工作线程来执行任务。如果核心线程都在执行任务,则进入下一个过程。
(2)线程池判断工作队列是否已满。如果工作队列没有满,将新提交的任务存储在这个工作队列中。如果工作队列满了,进入下一个过程。
(3)判断线程池中的线程是否处理工作状态,如果没有,创建一个新的工作线程来执行任务。如果满了,就交给饱和策略来处理这个任务。
2、多线程的实例
public class test implements runnable { @override public void run() { try { thread.sleep(10); } catch (interruptedexception e) { e.printstacktrace(); } } static executorservice service = newfixedthreadpool(3); public static void main(string[] args) { for (int i=0;i<100;i++) { service.execute(new test()); } service.shutdown(); }}
以上就是java多线程的实现原理及相关知识点的详细内容。
