asyncio的痛点:Python异步编程的陷阱与Trio的救赎

2025-07-27
asyncio的痛点:Python异步编程的陷阱与Trio的救赎

Python的asyncio库尽管引入了异步编程的可能性,却充斥着诸多设计缺陷,例如易被忽略的取消机制、任务被意外销毁、I/O操作中的陷阱以及难以使用的队列。文章详细剖析了这些问题,并对比了Trio库的优雅解决方案。Trio库通过级别触发的取消机制、强引用任务、更直观的I/O API以及高效的通道机制,解决了asyncio中诸多令人头疼的问题,为Python异步编程提供了更可靠和易用的选择。AnyIO库则作为一种折中方案,在asyncio之上实现了Trio的语义,兼顾了兼容性和易用性。

阅读更多
开发 Trio

任天堂DS上的Advent of Code:在嵌入式系统上编写Rust代码的挑战

2024-12-16

作者在任天堂DS上使用Rust语言完成了Advent of Code 2024挑战。这篇文章详细描述了整个过程,从搭建交叉编译环境,编写能在无运行时环境的嵌入式系统上运行的Rust代码,到处理内存管理、中断和屏幕输出等一系列难题。作者克服了诸多挑战,最终成功地在DS屏幕上显示了Advent of Code的答案。文章展现了作者扎实的编程功底和对嵌入式系统的深入理解,同时也体现了在资源受限环境下进行编程的技巧和乐趣。

阅读更多
开发 任天堂DS