异步同步阻塞非阻塞的区别
异步、同步、阻塞、非阻塞是计算机科学中常用的四个概念,它们的区别如下:
1. 同步:同步是指需要等待返回结果,不断轮询数据是否准备好了,或者一直在等待数据准备好。同步的实时性比较好。
2. 异步:异步是指发送一个请求就立即返回,然后去干别的事情,当数据准备好了会通知进行相关处理。异步的并发性能比较好。
3. 阻塞:阻塞是指当前线程不执行别的事情,一直在等待。例如,等待网络上的数据分组到达,然后被复制到内核的某个缓冲区。
4. 非阻塞:非阻塞是指当前线程可以做别的事情,间隔一段时间检查一下上次的数据有没有准备好。
需要注意的是,它们修饰的对象不一样,阻塞非阻塞是指进程需要的数据如果未就绪,需不需要等待;同步异步是指数据准备好后进行访问的机制,访问数据的时候,需不需要等待IO处理完成。同步需要等待IO完成,异步是IO完成后通知进程进行处理。
