可以在Windows上使用Grand Central Dispatch(`libdispatch`)吗?

ELL*_*BLE 16 windows multithreading portability libdispatch grand-central-dispatch

我期待到多线程,和GCD似乎是一个很大比使用手工编写的解决方案更好的选择pthread.hpthreads-win32.然而,虽然看起来libdispatch要么正在开发,要么很快就要开始工作,大多数新的POSIX兼容系统......我不得不问,Windows呢?libdispatch移植到Windows 的可能性有多大?阻止这种情况发生的障碍是什么?

如果它归结为它,需要做什么来预成型portage?

编辑:我已经知道的一些事情,以便开始讨论:

  • 我们需要一个可以在Windows上编译的块兼容编译器,不是吗?将PLBlocks处理这个问题?
  • 我们可以使用LLVM 块运行时吗?
  • 为了便携性,我们不能用APR调用替换pthread.h用户空间中的所有依赖项libdispatch吗?或者,或者,使用pthreads-win32我想...

编辑1:我听说这是完全和完全不可能的,因为libdispatch依赖(某种程度上)kqueue,在Windows上无法提供...有人知道这是真的吗?

小智 7

看一下:http: //opensource.mlba-team.de/xdispatch/这个项目(以及其他第三方库)将libdispatch带入macosx以外的平台(windows,linux)


All*_*nek 5

从我对它的基本理解来看,Windows等价的libdispatch是非托管代码的并发运行时组称为托管代码的并行扩展的技术.在我看来,GCD很好地映射到这两者,因为它们都以类似的方式抽象工作单元(或"任务").