有关同步异步、阻塞非阻塞的理解,看了很多博客不清楚以下的概括对否,请各位大佬帮忙看看。
同步与异步:
主要阐述任务之间的依赖关系,假设任务A调用任务B,任务A需要等待任务B的完成才能继续执行,这叫同步,而如果任务A调用任务B后立马返回结果,并且在B执行完后会主动通知A,此时成为异步。
阻塞与非阻塞:
主要阐述任务与CPU资源的关系,假设任务A调用任务B,任务A需要等待任务B的完成才能继续执行,此时CPU也还保持任务A所在线程一直等待,这叫阻塞;而如果CPU此时挂起任务A所在线程去执行其他线程,时不时回来询问A是否阻塞完毕,完毕才有可能执行线程A,这叫非阻塞
不知道这样理解有没有偏差,希望各位指点一下
繁花如伊
相关分类