在 Zig 中实现 TaskCompletionSource
↬zeeko.dev/2026/08/write-a-task-queue-in-zig 在严肃阅读了Zig’s Io.Threaded is Neat这篇文章及其引用的文章后,我反思了一下我之前写的任务队列实现,感觉之前的实现太不 Zig 了,完全没体现出 的优势。 之前的队列 Consumer 需要用回调函数来通知任务的发布者一个任务完成了,这其实就相当于在写类似 JavaScript 中 这样的代码。而且由于 Zig 完全不支持闭包,所以这块的实现不可避免地需要用到指针: 如果说 JavaScript 中回调太多而被称为「回调地狱」的话,那么这种无法使用闭包的回调可谓是「回调十八层地狱」了。 JavaScript 解决「回调地狱」问题靠的是引入 关键字,与之对应的 Zig 魔法就是 函数了。在目前默认的线程模型下,
评论
?
参与讨论