java多线程(一)_进程和线程的区别

从今天开始正式踏入学习线程的学习中

什么是进程?

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

java多线程(一)_进程和线程的区别

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

什么是线程?

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

为什么要用多线程?

java多线程(一)_进程和线程的区别

如图所示:

  • 单任务:

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

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

注意

  • 多线程是异步的,所以千万不要把Eclipse里代码的顺序当成线程执行顺序,线程被调用的时机是随机的

参考资料

  1. 《Java多线程编程核心技术》