同步、异步:
指的是能否开启新的线程。同步不能开启新的线程,异步可以。
串行、并行:
指的是任务的执行方式。串行是指多个任务时,各个任务按顺序执行,完成一个之后才能进行下一个。并行指的是多个任务可以同时执行。异步是多个任务并行的前提条件。
并发和并行其实是异步线程实现的两种形式。并行其实是真正的异步,多核CUP可以同时开启多条线程供多个任务同时执行,互不干扰。但是并发就不一样了,是一个伪异步。在单核CUP中只能有一条线程,但是又想执行多个任务。这个时候,只能在一条线程上不停的切换任务,比如任务A执行了20%,任务A停下里,线程让给任务B,任务执行了30%停下,再让任务A执行。这样我们用的时候,由于CUP处理速度快,你看起来好像是同时执行,其实不是的,同一时间只会执行单个任务。但是当并发是在多个cpu的情况下,那么并行和并发就没多大的区别了。但是在单个cpu的情况下的话,那么就只能并发而不能并行了。
来源:https://www.cnblogs.com/czk666/p/9353160.html