libdispatch 项目(又称 Grand Central Dispatch),用于多核硬件上的并发处理。
libdispatch 项目(又称 Grand Central Dispatch),用于多核硬件上的并发处理。
Grand Central Dispatch(GCD 或 libdispatch)为多核硬件上的并发代码执行提供了全面支持。
目前,libdispatch 在所有 Darwin 平台上均可用。本项目旨在让 libdispatch 的现代版本在所有其他 Swift 平台上也可用。为此,我们将尽可能多地实现 API 的可移植子集,并利用现有的 开源 C 实现。
libdispatch 在 Darwin 上是 xnu 内核中的逻辑与用户空间库的结合。内核拥有最多信息,能够在整个系统范围内平衡工作负载。然而,作为第一步,我们认为在 Linux 上使用用户空间的 pthread 原语来搭建库的基本功能是有用的。最终,可以开发一个 Linux 内核模块,以支持更明智的线程调度。
libdispatch 到 Linux 的移植已经完成。在 Linux 上,自 Swift 3 起,swift-corelibs-libdispatch 已包含在所有 Swift 版本中,并被其他 swift-corelibs 项目所使用。
贡献机会和正在进行的工作包括:
有关构建和安装 libdispatch 的详细说明,请参阅 INSTALL.md
有关测试 libdispatch 的详细说明,请参阅 TESTING.md
暂无开放 Issues,或尚未同步最近议题。