哪篇面试文章能如此清晰解释同步异步阻塞非阻塞BIONIOAIO?
- 内容介绍
- 文章标签
- 相关推荐
本文共计8110个文字,预计阅读时间需要33分钟。
网上有很多关于同步/异步、阻塞/非阻塞、IO、NIO、AIO的文章,但它们都没有完全符合我的预期。因此,我想自己写一篇来阐述。
常见误区
1.误区一:认为同步和异步只是线程的两种状态。实际上,它们是描述任务执行方式的概念,与线程状态无直接关系。
2.误区二:认为非阻塞IO就是不阻塞。非阻塞IO是指操作系统允许程序在等待IO操作完成时继续执行其他任务。
用户需求
一个用户详细的需求包括:- 展示用例:模拟一个用户访问网站的场景,包括发起请求、等待响应、处理响应等步骤。- HTTP接口:使用一个HTTP接口来模拟用户请求。实现步骤步骤一:调用HTTP接口
1.用户发起HTTP请求。
2.服务器接收到请求并处理。
步骤二:处理响应
1.服务器处理请求后,返回响应。
2.用户接收到响应并处理。
这样,我们就模拟了一个简单的用户访问网站的场景,并展示了同步和异步的区别。
本文共计8110个文字,预计阅读时间需要33分钟。
网上有很多关于同步/异步、阻塞/非阻塞、IO、NIO、AIO的文章,但它们都没有完全符合我的预期。因此,我想自己写一篇来阐述。
常见误区
1.误区一:认为同步和异步只是线程的两种状态。实际上,它们是描述任务执行方式的概念,与线程状态无直接关系。
2.误区二:认为非阻塞IO就是不阻塞。非阻塞IO是指操作系统允许程序在等待IO操作完成时继续执行其他任务。
用户需求
一个用户详细的需求包括:- 展示用例:模拟一个用户访问网站的场景,包括发起请求、等待响应、处理响应等步骤。- HTTP接口:使用一个HTTP接口来模拟用户请求。实现步骤步骤一:调用HTTP接口
1.用户发起HTTP请求。
2.服务器接收到请求并处理。
步骤二:处理响应
1.服务器处理请求后,返回响应。
2.用户接收到响应并处理。
这样,我们就模拟了一个简单的用户访问网站的场景,并展示了同步和异步的区别。

