顾名思义,「并发」强调的是可以一起「出『发』」,「并行」强调的是可以一起「执『行』」。
并发的关键是你有处理多个任务的能力,不一定要同时。
并行的关键是你有同时处理多个任务的能力。
并发和并行都可以是很多个线程,就看这些线程能不能同时被(多个)cpu执行,如果可以就说明是并行,而并发是多个线程被(一个)cpu 轮流切换着执行。
Process, Thread, Green-Thread, and Coroutine
DeadLock and Cocurrent Programming in Golang