读这个: https://mariadb.com/kb/en/library/thread-pool-in-mariadb/
关于线程数,它说:
有助于减少上下文切换的理想解决方案是保持比客户端数量更少的线程数。但是这个数字也不应该太低,因为我们也想充分利用CPU,所以理想情况下,机器上的每个CPU都应该有一个活动线程。
在查看市场上不同的CPU时,请说我购买的CPU为2核,4线程的计算机。假设你在Linux上,并且有任务调度程序。我不想实际使用3个线程吗?因为1个线程最好留给操作系统做东西/其他实用程序进程?
答案 0 :(得分:0)
以后要进行大量的多线程编程。理想情况下,它应该执行X-1线程,但是问题是,实际上,无论您告诉您的进程要运行多少个线程,如果不是同时运行数百个进程,那么大概有10s。
硬件和操作系统确实对进程在哪个线程上进行了最终调用,因此将进程配置为运行x个线程只能确保每个线程都变得繁忙,然后将使用4个内核,否则只会委派最少的资源,这将允许计算机使用最少的能源和时间,但仍然可以完成所有工作。
另一方面,如果您真的想为线程专用一个内核-在Linux中,您使用CPU亲和力,但是在没有确切了解您在做什么和想要什么的情况下触摸它通常是一个坏主意实现。