IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Async

共 5 篇相关文章

IT 累计浏览 2,331

初探Thrift客户端异步模式

这篇讲的是如何为Thrift RPC框架引入异步调用能力。作者从团队广泛使用的同步模式出发,为优化大数据量传输等场景,探索了Thrift原生提供的异步客户端方案。 核心实现围绕生成的异步客户端类与`TAsyncChannel`接口展开。`TAsyncChannel`定义了异步收发消息的接口,目前标准的实现是基于libevent和HTTP协议的`TEvhttpClientChannel`。它的巧妙之处在于,通过将回调函数注册到事件循环中,使得客户端发送请求后无需阻塞等待,可以继续执行其他任务,待服务端响应到达时再触发回调处理结果。 文中一个关键发现是:异步客户端并非必须搭配异步服务器。通过实验验证,只要服务器端使用HTTP传输层(例如通过`THttpServerTransportFactory`),协议层保持一致,即可与异步客户端正常工作。这大大降低了现有同步服务的改造成本。 实验部分展示了一个完整的异步客户端与同步服务器交互的例子,运行结果证实了调用发起与响应接收在时间上是解耦的。不过,作者也指出当前实现限于HTTP传输层,这为后续扩展其他传输协议留下了探索空间。

IT 累计浏览 2,454

PDC 2010:C#与Visual Basic的未来(下)

这篇讲的是C#之父Anders Hejlsberg在PDC 2010大会上,对.NET语言未来演进路径的一次重要擘画。演讲的核心聚焦于两项即将引入C#与Visual Basic的革命性特性:**异步编程**与**编译器即服务**。 作者从Anders的现场演示出发,重点剖析了异步编程如何通过引入`async`和`await`这两个简洁关键字,彻底革新了处理I/O密集型任务的编程模型。它使得开发者能以近乎同步代码的流畅逻辑,编写出高效、非阻塞的异步操作,极大提升了代码的可读性与可维护性。 另一部分则初步探触了“编译器即服务”这一更前沿的构想。它旨在将编译器的能力(如语法树、语义分析)作为一种服务开放出来,让开发者能够编写在编译期分析和操作代码的工具与扩展。这不仅是.NET生态中元编程的强大基础,也为代码分析、智能工具和领域特定语言(DSL)的创建打开了全新的大门。 Anders的分享清晰地勾勒出,未来语言设计不仅追求运行时性能与表达力,更致力于通过提升开发体验和赋予元编程能力,来应对软件复杂性不断增长的挑战。

IT 累计浏览 2,300

PDC 2010:C#与Visual Basic的未来(中)

这篇总结聚焦于PDC 2010上Anders Hejlsberg关于C#与Visual Basic未来方向的关键演讲,重点剖析了“异步”与“编译器即服务”两大特性。不同于逐句翻译,作者以Anders的视角,用简捷的方式重构了演讲的核心内容。 文章深入阐述了async和await这两个关键字背后的实现原理。它解释了编译器如何将异步代码转换为状态机,从而在保持代码简洁性的同时,避免了传统回调模式的复杂性,并显著提升了应用的响应性。对于“编译器即服务”,文章探讨了其如何将编译器能力开放给开发者,使得在运行时分析和生成代码成为可能,这为元编程和开发工具链带来了新的想象空间。 作者通过梳理Anders对这两项特性的设计哲学与技术细节,清晰地勾勒出未来语言演进将如何更深入地解决并发编程的复杂性,并拓展开发者的工具边界。对于想理解现代C#核心语言特性起源和设计思想的开发者来说,这篇复盘提供了扎实的技术洞察。

IT 累计浏览 3,053

PDC 2010:C#与Visual Basic的未来(上)

这篇讲的是PDC 2010大会上关于C#与Visual Basic未来发展方向的探讨。PDC作为微软的重要开发者会议,常常发布前沿技术信息,本文基于Anders Hejlsberg的演讲内容展开。文章详细分析了C#和

IT 累计浏览 3,471

Script 元素的异步加载属性

这篇讲的是前端性能优化中一个关键但常被模糊处理的细节:script 标签的 `async` 和 `defer` 属性。作者从基础的脚本加载机制出发,详细拆解了浏览器解析 HTML 时遇到 `