Java多线程1:进程和线程的区别

之前看了2天的多线程,就不看了。现在继续拾起来吧。最近有点松散,多线程内容都是看毕向东的视频以及网络教程和各种书籍

什么是进程?

  • 通俗一点讲,就是正在进行的程序,进程是操作系统控制的基本运行单元;

image

如上图所示,谷歌浏览器正在运行着,它就是一个进行中的程序,也就是进程。

什么是线程?

  • 进程中独立运行的子任务就是一个线程。像QQ.exe运行的时候就有很多子任务在运行,比如聊天线程、下载文件线程等。

为什么要用多线程?

image

如图所示:

  • 单任务:

    • 任务1执行10秒,10秒之后,再可以执行任务2.
    • 任务2必须等待任务1执行完成后,才可以执行,系统运行效率大大降低
    • 单任务的特点就是排队执行,也就是同步执行
  • 多任务:

    • cpu就可以在任务1 和任务2 之间来回切换,任务2 就不必等待10秒之后执行
    • 系统运行效率大大提高
    • 使用多线程也就是使用异步

注意

  • 多线程是异步的,所以千万不要把Eclipse里代码的顺序当成线程执行顺序,线程被调用的时机是随机的
posted @ 2018-08-25 08:14  Kevin_zheng  阅读(4637)  评论(2编辑  收藏  举报