0322
全排列
0327 逝者如斯夫
学如逆水行舟,不进则退。这点是真明显了,不能拉下一天功夫了。
250409
- 同步代码是不是一定是阻塞的?异步代码是不是一定是非阻塞的?请举例说明。
- 同步代码需要等待前序列结果,一定是阻塞的,异步代码一定是非阻塞的。
- Standard:
- 同步和异步是指”发起请求和拿到结果的模式”,阻塞和非阻塞是指”等待过程中不能干别的事”
- 在单线程环境下,异步 IO 和多线程 IO 的区别是什么?为什么异步 IO 不需要多线程?
- 异步IO会等IO结束后才通知CPU,多线程IO是等IO线程运行态时才会检查IO是否结束。异步IO由中断实现,不需要CPU轮询式查看。
- Standard:
- 多线程IO = 一个线程对应一个阻塞IO
- 异步IO = 一个线程发出多个IO,由操作系统管理,等待结果用事件或回调返回
- 同步 + 非阻塞 这个组合存在吗?能举一个实际例子吗?
200410
- JavaScript 的 async/await 是同步还是异步?是不是阻塞线程?背后的运行机制是什么?
- select、poll、epoll、IOCP 这四种 IO 模型,哪个是同步的?哪个是异步的?为什么?
- 为什么 Python 的 asyncio 要求用协程函数(async def)?普通函数为什么不能直接用 await?
- Node.js 是单线程,为什么还能做到高并发处理 IO?事件循环和线程池分别负责什么?
- 操作系统内核态的异步 IO 和用户态的异步 IO 有什么区别?哪些语言或框架用的是内核态异步 IO?
- 一个 IO 操作同时满足:
- 异步
- 非阻塞
- 不需要回调
- 单线程
这种模式存在吗?请举例或解释。
- 同步和异步的核心区别到底是什么?是执行顺序的问题,还是等待的问题,还是线程数量的问题?