1、多线程中的线程池原理

(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多线程的实现原理及相关知识点的详细内容,更多请关注Work网其它相关文章!

09-18 03:24