同步、异步、并发、并行、串行

1、同步与异步
     同步:多个任务情况下,一个任务A执行结束,才可以执行另一个任务B。只存在一个线程。
     异步:多个任务情况下,一个任务A正在执行,同时可以执行另一个任务B。任务B不用等待任务A结束才执行。存在多条线程。

2、并发与并行
     并行:是指两个或者多个事件在同一时刻发生。
     并发:是指两个或多个事件在同一时间间隔发生。
     并发和并行其实是异步线程实现的两种形式。并行其实是真正的异步,多核CUP可以同时开启多条线程供多个任务同时执行,互补干扰。但是并发就不一样了,是一个伪异步。在单核CUP中只能有一条线程,但是又想执行多个任务。这个时候,只能在一条线程上不停的切换任务,比如任务A执行了20%,任务A停下里,线程让给任务B,任务执行了30%停下,再让任务A执行。这样我们用的时候,由于CUP处理速度快,你看起来好像是同时执行,其实不是的,同一时间只会执行单个任务。
     并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。

3、串行
     串行:它是同步线程的实现方式,就是任务A执行结束才能开始执行B,单个线程只能执行一个任务。

猜你喜欢

转载自blog.csdn.net/sinat_27933301/article/details/80044963