并发指的是在同一个时间段有多个任务在(交替)进行,并行指的是单位时间内多个任务在运行。因此对于单核的CPU来说并发编程并无意义,反而会增加额外的上下文切换开销。对于并发来说,同一时间段内,线程A和线程B在交替进行,当线程A运行完自己的时间片之后将会保存执行上下文信息,之后CPU运行线程B,之后轮到A时再从之前的执行上下文信息恢复回来。