Tokio Gives Progress, Not Ordering: Scheduling 1M Tasks8 hours agohttps://pranitha.dev/posts/tokio-gives-progress-not-ordering/Tokio的多线程调度器使用本地和全局队列,但不保证任务按创建顺序被轮询。提前生成任务并不能保证提前轮询或完成;来自不同事件的任务竞争工作队列,可能会被延迟。如果没有对任务创建的限制,大量活跃任务会增加峰值内存,因为较早的任务及其父任务存活时间更长。使用信号量限制并发事件可以实现事件级公平性,在保持吞吐量的同时减少内存峰值。应用程序代码必须自行实施公平性边界;Tokio对所有任务一视同仁,不了解事件等应用级单元。