java多线程之:创建开启一个线程的开销
2024-10-18 23:26:19
---->关于时间,创建线程使用是直接向系统申请资源的,这里调用系统函数进行分配资源的话耗时不好说。
---->关于资源,Java线程的线程栈所占用的内存是在Java堆外的,所以是不受java程序控制的,只受系统资源限制,默认一个线程的线程栈大小是1M(当让这个可以通过设置-Xss属性设置,但是要注意栈溢出问题),但是,如果每个用户请求都新建线程的话,1024个用户光线程就占用了1个G的内存,如果系统比较大的话,一下子系统资源就不够用了,最后程序就崩溃了。
--->对操作系统来说,创建一个线程的代价是十分昂贵的, 需要给它分配内存、列入调度,同时在线程切换的时候还要执行内存换页,CPU 的缓存被 清空,切换回来的时候还要重新从内存中读取信息,破坏了数据的局部性。
最新文章
- QuickHit游戏
- 过河问题nyoj47
- UITableView动态存放、重用机制
- Linux 容器的使用
- 浏览器的不兼容,归纳几点html编码要素
- dependencyManagement与dependencies区别
- [转] What is Ec/Io (and Eb/No)?
- WPF的MVVM
- Maven使用说明
- spring boot入门篇,helloworld案例演示
- Kindle Windows版本 中文字体修改工具
- Java虚拟机详解----JVM内存结构
- nginx报错:failed (13: Permission denied)
- webpack配置css相关loader注意先后顺序
- stm32通用定时器详解
- thinkphp——通过在线编辑器添加的内容在模板里正确显示(只显示内容,而不是html代码)
- c++11 多线程依次打印ABC
- VMware ESXI6.0服务器安装
- 基于Python的接口自动化测试框架
- PHP远程连接mysql报错处理办法