并行和并发有什么区别?

并发是指在一段时间内多个任务被处理,但在某一时刻只有一个任务在执行。在单核处理器上实现并发的方式是利用时间片轮转的机制。例如,假设有两个进程A和B,A运行一个时间片后切换到B,B运行一个时间片后再切换回A。由于切换速度足够快,从宏观上看,多个程序在一段时间内能够同时运行。

并行则是指在同一时刻有多个任务在执行。这需要多核处理器的支持,微观上能够同时执行多条指令。不同的程序被分配到不同的处理器上运行,这是基于物理层面上的多个进程同时进行。

标签: java, Java面试题, 操作系统, Java问题合集, Java编程, Java问题精选, Java常见问题, 操作系统面试题