IO模型
[TOC]
相关概念
同步
调用端会一直等待被调用端响应,直到返回结果
异步
调用端发起调用后,不会等待被调用方响应
阻塞
被调用方返回结果之前,调用方会挂起。在go中发生阻塞会使得goroutine主动释放CPU分片,等待下次runtime调度获得CPU分片资源,然后通过检查调用状态来判断是继续阻塞还是往下执行。
非阻塞
在被调用方返回结果前,函数不会阻塞调用方线程。在go中代码逻辑将继续往下执行。
多路复用
TODO:go相关实现源码,src/runtime/netpoll_xxx.go
select
epoll
最后更新于
这有帮助吗?