文章目录
一、测试线程开销
1、正常测试
2、不创建线程
3、只创建不启动线程
4、只启动不等待执行完成
二、分析测试结果
1、启动线程分析
2、用户线程与内核线程
3、轻量级进程
4、验证 Java...线程类型
一、测试线程开销
----
线程池是线程的缓存 , 在 Java 高并发场景中 , 所有的异步操作 , 都可以使用线程池 ;
使用线程池时 , 不建议用在 " 执行耗时较长的操作 " 的业务场景中...;
线程池机制 最重要的功能就是 复用线程 ; 线程的创建 , 销毁 , 都是要消耗资源的 , 如果频繁创建销毁线程 , 会消耗很多资源 ;
1、正常测试
下面开始测试一下线程创建的开销 :
在主线程中...创建的线程是 内核线程 ;
执行 main 函数时 , 处于 用户态 , 一旦调用了 start() 方法启动了线程 , 此时就进入了 内核态 , 该状态切换消耗巨大 ;
2、用户线程与内核线程
系统的线程分为...)
内核线程 : 内核线程是 由内核管理的线程 , 其内部保存了线程的状态信息 , 上下文信息 , 如果频繁的切换线程 , 需要反复处理状态信息 , 上下文信息 , 会浪费很多资源 ;
线程阻塞时 ,