我正在处理我的小型c++框架,并且有一个文件类,它还应该支持异步读写。除了在某些工作线程中使用同步文件i/o之外,我找到的唯一解决方案是aio。不管怎样,我到处看看,在Linux中,aio甚至不是在内核中实现的,而是用用户线程实现的。OSX也是这样吗?另一个关注点是aio的回调功能,它必须为每个回调生成一个额外的线程,因为您不能分配特定的线程或线程池来处理这个问题(信号对我来说不是一个选项)。以下是由此产生的问题:
ai
我在Linux上使用的是librdkafka-0.11.5 for C。我的C/C++应用程序只是将Kafka数据发送到web服务器,该服务器使用ElasticSearch驱动Kafka消费者。看起来在生产者端,Kafka为每个Unix进程增加了8(8)个内部线程。这给我们带来了一个问题,因为我们对每个Linux机器的线程数量有一个硬性限制。
有没有人知道为什么增加了8个线程?会不会是因为我的Linux机器有4个CPU,并且