开发者社区> 问答> 正文

怎么避免在编程中引发调度的切换开销呢?

怎么避免在编程中引发调度的切换开销呢?

展开
收起
1358896759097293 2021-05-04 15:28:40 843 0
1 条回答
写回答
取消 提交回答
  • 45271990@qq.com

    所以如果在编程中引发调度的切换开销是很大的,我们应该尽量避免。怎么避免呢?答案就是异步编程,在node.js里面,我们可以使用大量callback区域处理业务逻辑。当使用callback以后,代码可能会变成这样一种三角形,因为每一个组织方式,它后面返回值都要带callback调用,都会缩进去一层。这样业务逻辑非常难以维护。 其次是即便我使用了异步编程,但可能还是不小心在现实里面使用了一段阻塞代码,下图是NGINX官网所提供的图片,虽然我自己去切换不同的请求处理,但是中间可能还是不小心调用了操作系统的一个阻塞方法。

    14.png

    为了解决这个问题,NGINX虽然是一个号称纯异步事件驱动的模型,但是它最近也引入了线程池去处理这种可能阻塞现实的情况。

    2021-05-05 22:57:29
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
用户态高速块缓存方案 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
fibjs 模块重构从回调到协程--陈垒 立即下载

相关实验场景

更多