并发:并发的具体意思是指,在同一个时间段之内,有几个程序都同时处于已启动开始运行到运行结束之间,且几个程序运行在同一个处理器中。具体的例子来说就是用电脑边玩游戏边听音乐,对于使用者来说是在同时玩游戏和听音乐,而对于电脑来说,则是将时间均匀的划分开,第一段时间处理游戏里的内容,第二段时间处理听音乐的内容,循环往复,但是因为计算机的运行速度快,所以使用者并不会有很明显的感觉。
并行:与并发相同的是,并行对于使用者来说,也是多个程序在同时运行,但是这些程序运行在不同的处理器上,并且不会相互之间抢占cpu资源,可以真正的同时运行,这种方式可以称作并行。
区别:可以理解为并发描述的是一个时间段内同时运行的程序,他们相互之间会抢占处理器资源,而并行则可以理解为在一个固定的时间点同时运行的程序,他们运行于不同的处理器上不会抢夺处理器资源,因此他们可以在一个时间点上同时运行。
进程与线程:线程依靠进程运行,不同的线程之间共享数据较为容易,但是不同的进程之间共享数据较为困难。线程之间可以会相互影响,但是进程之间几乎不会产生什么影响。可以对于进程中的内存地址进行上锁以防止多个线程同时共享数据,也可以对于内存进行限制让只有一定数量的线程对于内存进行访问。
并发和并行是计算机科学中的重要概念,分别描述了程序执行的不同方式。并发指在同一时间段内多个程序交替运行,可能共享处理器资源;并行则是程序在同一时间点在不同处理器上真正同步运行,不互相抢占资源。线程依赖于进程存在,线程间共享数据更易但可能互相影响,而进程间共享数据较难且相对独立。

被折叠的 条评论
为什么被折叠?



