我正在研究我的小型 c++ 框架,并且有一个文件类,它也应该支持异步读写。除了在我发现的一些工作线程中使用同步文件 i/o 之外,唯一的解决方案是 aio。无论如何,我环顾四周并在某处阅读,在 Linux 中,aio 甚至没有在内核中实现,而是在用户线程中实现。OSX 也一样吗?另一个问题是 aio 的回调功能,它必须为每个回调生成一个额外的线程,因为您不能分配某个线程或线程池来处理它(信号不是我的选择)。因此,以下是由此产生的问题:
aio 是否在 osx 的内核中实现,因此很可能比我自己的线程实现更好?
回调系统 - 为每个回调生成一个线程 - 会成为实践中的瓶颈吗?
如果 aio 不值得在 osx 上使用,在 unix 上还有其他选择吗?在可可?在碳?
或者我应该简单地用我自己的线程池模拟异步 i/o?
你在这个问题上的经验是什么?