您的位置:首页 > 其它

进程与线程、并发与并行、同步与异步的区别

2017-07-02 20:33 851 查看

进程与线程、并发与并行、同步与异步的区别

一、线程与进程的区别

进程:指内存中所运行的程序

线程:进程中的一个执行流

区别:

1、一个程序至少有一个进程(当然也可以启动多个进程),而一个进程至少有一个线程(当然也可以多个线程同时运行,如果支持的话)

2、另外,内存中的每一个进程都是有独立内存单元的(进程是可以申请系统资源的),而其中的多个线程是可以共享内存的(共享其所在进程的资源),可以提高程序运行效率

3、进程是一个“执行中的程序”。

4、子进程和父进程具有不同的代码和数据空间,而多个线程则是共享数据空间。多线程是为了节约CPU时间,充分发挥系统的“空闲时间”。

二、并发与并行的区别

并发:指一个时间段中几个程序都处于已启动到运行完毕之间。(可能现在并没有在工作),且这几个程序都是在同一个处理机上运行。

并行:并行是针对多处理器而言的(当然,单处理器也可以表现出并行的状态,主要表现为进程被交替执行)。指同时发生多个并发事件(但是并发不一定并行,或者说并发事件之间不一定要同一时刻发生),主要表现为重叠执行。

三、同步和异步

同步和异步是相对表现的,通俗点,同步就是顺序执行,执行完当前的任务再执行下一个,需要等待、协调运行。而异步就是彼此独立,多个任务之间不必要互相等待,只要CPU空闲,就可以同时执行多个任务,不需要等待其它任务的完成。而我们平时所说的线程,就是实现异步的一个手段而已。

以上就是我对这几个概念的一个基本了解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  线程 并发 异步
相关文章推荐