概念
进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。(百度百科)
windows系统用户打开任务管理器就能看到进程那一栏啦~什么QQ啊 网易云音乐啊之类的
线程:以上概念简单提及到了线程,其可以理解为在进程中独立运行的子任务,如QQ一个进程在运行时,其实有很多子任务在同时运行,因为我们可以使用QQ同时聊天,发文件甚至视频,其中每一项任务可以理解成线程.
多线程的优点:
简单的理解来讲,假如咱们在使用电脑的时候听歌就不能同时打游戏,那估计没人用电脑了.
图文并茂助于更有效的理解
任务1和任务2两个完全独立的任务,任务1在等待服务器返回数据,此时CPU处于等待状态.任务2在10秒之后被运行,虽然其只用1秒完成任务,但是必须在任务1之后才能执行.由此可见单任务环境下效率之低,但是其特点就是同步,必须等待1完成后确认无误才执行2.
多任务环境下任务1和任务2来回切换,任务2不必等任务1完成后才执行,系统的运行效率大大提升.
这就是要使用多线程技术的原因,即可以在异步环境下使用多线程
PAT ATTENTION
该系列文章仅为作者的读书笔记,非商业行为,摘自《Java多线程编程核心技术》——高洪岩