文章目录
一、测试线程开销
1、正常测试
2、不创建线程
3、只创建不启动线程
4、只启动不等待执行完成
二、分析测试结果
1、启动线程分析
2、用户线程与内核线程
3、轻量级进程
4、验证 Java...;
线程池机制 最重要的功能就是 复用线程 ; 线程的创建 , 销毁 , 都是要消耗资源的 , 如果频繁创建销毁线程 , 会消耗很多资源 ;
1、正常测试
下面开始测试一下线程创建的开销 :
在主线程中...创建的线程是 内核线程 ;
执行 main 函数时 , 处于 用户态 , 一旦调用了 start() 方法启动了线程 , 此时就进入了 内核态 , 该状态切换消耗巨大 ;
2、用户线程与内核线程
系统的线程分为...用户线程 和 内核线程 ;
用户线程 : 用户线程是 用户程序实现的线程 , 并负责管理线程的 创建 , 执行 , 调度 , 同步 ;
线程阻塞时 , 进程也会阻塞 ;
( Java 没有用到用户线程...10000
线程后 , 发现线程数增加了
10000
;
由此可见 , Java 虚拟机创建的线程是内核线程 ;
Java 虚拟机创建线程 , 依赖于系统内核 , 内核空间的内核线程 与 用户空间的