1.认识多线程

多线程这块儿东西,主要是参考了高洪岩所著的《Java多线程编程核心技术》,算是做一个读书笔记吧。其中有些书中没有深入讲到的知识,我也额外找了很多资料参考学习,希望能尽量总结地全面一点吧。

废话少说,马上开始第一篇,认识多线程。这一篇主要参考了刘欣的 码农翻身 公众号里面的文章,这个号满满的干货啊,大家有兴趣可以关注一下,保你收获多多。

1.为什么要有多线程?

多线程的出现是为了更好的利用CPU资源。CPU处理速度这么快,传统的单线程让CPU处理一件任务,完全没有发挥出CPU的能力,以Word为例,我在编写的时候,Word要执行自动保存,我还得等保存完了,才能继续写,这体验也太差了。为了解决这个问题,我开两个线程,一个处理写,一个处理保存,CPU在两个线程之间快速切换,快到你感觉两件事是同时在进行,这才像话嘛。

2.进程和线程有啥区别?

进程是操作系统分配资源的基本单位,线程是CPU调度的基本单位。在Windows系统中,打开任务管理器,就能看到一个选项卡叫进程,里面有QQ,微信,火狐浏览器等等,对于QQ这个进程,就有很多线程处理不同的任务,视频聊天线程、文件传输线程等。有点像老板接了个项目,招了一堆程序员来搞,这里是进程申请了资源,让线程来进行处理。

3.为啥没有多进程编程?

  • 进程之间是隔离的,共享数据很麻烦
  • JVM其实就是一个进程,当然不能在进程中进行多进程编程了

你可能感兴趣的:(1.认识多线程)