并行 : 强调的是具有同时处理多任务的能力
并发 : 强调的是具有处理多任务的能力 但不一定同时
并行: 对于开发者来说 , cpu 如果是多核的 他就具有并行同时处理线程的能力,比如说说当前设备中的唯一一个(为了便以理解我们说一个进程)进程中有8个线程同时被cpu的8个内核去分别调度 这就是并行的行为
并发: 不一定具备并行的能力,java多线程 就算是单核cpu 也会正常运行,并不是说这些线程都会同时运行,因为存在线程调度的原因,比如果说线程调用了Thread.yield(); 然后当前线程处于可调度状态 其他等待的比此线程优先级高的线程被cpu调度。这种调度对于人感知的时间是完全忽略不计的所以。这是cpu并发的行为。