最近在用 libuv, 大家怎么看待这种大量使用回调的异步编程方式?

发布于 2022-08-30 01:28:11 字数 124 浏览 16 评论 0

最近在用 libuv, 这种大量使用回调的异步编程方式, 跟传统的顺序编程的写法, 有哪些好处, 很多回调函数接口被限制住了, 不能自己随意定义了. 程序执行顺序也变得跳来跳去.

大家怎么看, 用libuv的多吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

戏舞 2022-09-06 01:28:11

用起来非常舒服!!!
用异步 I/O 构建出来的程序,刚刚开始看会觉得很反人类,因为和平常我们程序化的思维方式不同。
但是如果你做的系统功能处理一旦复杂起来,异步 I/O——以致于整个异步编程架构就反而变得灵活起来了,功能的增减非常容易。

我们的系统中负载最大的一个功能是用 libevent 搭建起来的,单线程,最稳定。而其他使用多线程协作的功能,就很容易出 bug。

此外,我不知道你是在什么平台上开发——你可以看看 PC 程序的开发,很多都是事件驱动的编程方式(C++里面何种 callback、各种 handler;Objective-C 中各种 delegate),不也是异步编程方式么~~~

习惯了就好。其实很多编程模式都是按需使用的,多了解多实践,慢慢地就知道优缺点啦

杀お生予夺 2022-09-06 01:28:11

想想不用libuv,在处理一个耗时IO的时候是不是就得起一个线程来处理他的读写。libuv虽然我没有用过,但是我理解他的设计理念,应该是IO处理皆异步,虽然我们在其他语言中处理一个文件的读写的时候都是同步的,但是这样难免有点堵塞当前线程的味道(虽然你可以起子线程,那就另当别论了).

随风而去 2022-09-06 01:28:11

用了协程之后感觉回调就一个字“丑”

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文