🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## Java 多线程 为了解决负载均衡问题,充分利用CPU资源.为了提高CPU的使用率,采用多线程的方式去同时完成几件事情而不互相干扰.为了处理大量的IO操作时或处理的情况需要花费大量的时间等等,比如:读写文件,视频图像的采集,处理,显示,保存等 ### 多线程的好处: 1. 使用线程可以把占据时间长的程序中的任务放到后台去处理 2. 用户界面更加吸引人,这样比如用户点击了一个按钮去触发某件事件的处理,可以弹出一个进度条来显示处理的进度 3. 程序的运行效率可能会提高 4. 在一些等待的任务实现上如用户输入,文件读取和网络收发数据等,线程就比较有用了. ### 多线程的缺点: 1. 如果有大量的线程,会影响性能,因为操作系统需要在它们之间切换. 2. 更多的线程需要更多的内存空间 3. 线程中止需要考虑对程序运行的影响. 4. 通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生 ## 多线程的实现 1. 通过实现 Runnable 接口 2. 通过继承 Thread 类本身 ## 线程的几个主要概念 在多线程编程时,你需要了解以下几个概念: 1. 线程同步 2. 线程间通信 3. 线程死锁 4. 线程控制:挂起、停止和恢复 ## 多线程的使用 1. 有效利用多线程的关键是理解程序是并发执行而不是串行执行的。例如:程序中有两个子系统需要并发执行,这时候就需要利用多线程编程。 2. 通过对多线程的使用,可以编写出非常高效的程序。不过请注意,如果你创建太多的线程,程序执行的效率实际上是降低了,而不是提升了。 3. 请记住,上下文的切换开销也很重要,如果你创建了太多的线程,CPU 花费在上下文的切换的时间将多于执行程序的时间! ### 如何共享线程之间的数据 https://blog.csdn.net/hejingyuan6/article/details/47053409 https://blog.csdn.net/zhh1072773034/article/details/74240897?locationNum=8&fps=1