阻塞/非阻塞和同步/异步有什么区别?

阻塞

在单任务/线程条件下,需要执行某操作时,发现条件不满足,会持续等待直到条件满足,例如BIO,阻塞队列

非阻塞

在单任务/线程条件下,需要执行某操作时,发现条件不满足,会直接返回条件不足的消息的提示,直接结束,例如NIO,非阻塞队列

两者都是在单任务条件下,系统资源到底是等待完成还是直接返回结果

同步

在多线程情况下,竞争统一资源,线程会一个接一个完成.就像银行柜台只开了一个窗口,没有竞争到资源的人在后面排队,只有一个人能够办理业务

异步

在多线程情况下,竞争统一资源,线程会几个同时进行.这就是几个柜台窗口了,大家可以几个人一起进行业务.

两者都是在多任务条件下,系统资源能否并行执行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。