程序的并发执行是指 两个或两个以上程序在计算机系统中同处理已开始执行且尚未结束的状态。具体来说,并发执行具有以下特点:
并发程序在执行期间具有相互制约关系:
多个程序在执行时,它们之间可能会因为共享资源或其他原因而产生相互影响,需要协调执行顺序和访问控制。
程序与计算不再一一对应:
在并发执行中,多个程序可以同时运行,因此一个程序的执行可能与其他程序的执行在时间上重叠。
并发程序执行结果不可再现:
由于并发执行中程序的执行顺序和执行时间可能发生变化,因此程序的最终执行结果可能因执行环境的差异而有所不同。
并发执行可以通过多种方式实现,例如在多道程序系统中,通过操作系统的调度算法实现多道程序的并发执行;或者在单程序中,通过编写可以同时执行或顺序颠倒的代码段来实现并发执行。
并发执行与并行执行的区别在于:
并发:在同一时间段内处理多个任务,这些任务可以交替执行,但不一定是同时执行。在单核CPU系统中,多个任务是通过时间片轮询等技术实现交替执行的。
并行:在同一时刻真正地同时执行多个任务,通常需要多个处理器或者多核处理器来实现。
总结起来,并发执行是一种在单个处理机上通过时间片轮询等技术实现多个进程或线程交替运行的方法,而并行执行则是在多处理器或多核环境下,多个进程可以同时运行于不同的处理器核心上。