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