我正在尝试为使用多线程的mysql创建c ++客户端。我正在使用的是boost库和lmysqlcppconn中的线程组。
代码逻辑非常简单。我首先与驱动程序创建许多连接(与线程数一样多),并将它们存储在缓冲区中。然后,工作线程从缓冲区中获取一个连接并开始执行查询。确保每个工作线程都有自己的连接。 Mysql服务器位于远程。
我发现连接的是,无论我创建了多少线程,工作的物理cpu核心只有4〜5个,而我拥有的物理核心要多得多。其余的都闲着。
我的问题是,不是所有内核都被利用的原因可能是什么?
先感激
有关