我们之前学习的程序在没有跳转语句的情况下,都是由上至下沿着一条路径依次执行。现在想要设计一
个程序,可以同时有多条执行路径同时执行。比如, 一边游戏,一边qq聊天,一边听歌 ,怎么设计?
要解决上述问题,需要使用 多进程 或者 多线程 来解决。
1. 相关概念
1.1 程序、进程与线程
程序(program):为完成特定任务,用某种语言编写的 一组指令的集合 。即指 一段静态的代码 ,
静态对象。
进程(process):程序的一次执行过程,或是正在内存中运行的应用程序。如:运行中的QQ,
运行中的网易音乐播放器。
每个进程都有一个独立的内存空间,系统运行一个程序即是一个进程从创建、运行到消亡的过
程。(生命周期)
程序是静态的,进程是动态的
进程作为 操作系统调度和分配资源的最小单位 (亦是系统运行程序的基本单位),系统在运行时
会为每个进程分配不同的内存区域。
现代的操作系统,大都是支持多进程的,支持同时运行多个程序。比如:现在我们上课一边使
用编辑器,一边使用录屏软件,同时还开着画图板,dos窗口等软件。
线程(thread):进程可进一步细化为线程,是程序内部的 一条执行路径 。一个进程中至少有一个
线程。
一个进程同一时间若 并行 执行多个线程,就是支持多线程的。
2、一个应用程序的多次运行,就是多个进程