我理解的同步非阻塞

2020-07-29  本文已影响0人  抟九

同步/异步,阻塞/非阻塞是完全不一样的概念,但容易混淆。

local res, err  = query-mysql(sql)
local value, err = query-redis(key)

如果需要等待mysql的查询返回,才能继续redis查询,那该操作就是同步的,否则就是异步的。
如果在等待查询返回的过程中,没有让出cpu资源,而是占用资源的等着,那操作就是阻塞的,如果进程趁机去处理其他事件,那操作就是非阻塞的。

所以,所谓同步非阻塞,就是一个操作是按序执行,但在等待返回的过程中又不浪费资源。

是事件驱动的,所以就兼具编程简单和程序效率高两个优点。

上一篇 下一篇

猜你喜欢

热点阅读