Multithreading 基于系统规格的线程
我有一个24gb内存的服务器,四核xeons和超线程。我需要在我的服务器应用程序中创建一个线程池。线程池的最大线程数准则是什么(如果有的话)Multithreading 基于系统规格的线程,multithreading,threadpool,Multithreading,Threadpool,我有一个24gb内存的服务器,四核xeons和超线程。我需要在我的服务器应用程序中创建一个线程池。线程池的最大线程数准则是什么(如果有的话) 谢谢我通常会选择2倍数量的CPU核。在所有线程都忙的情况下,这几乎不会对性能造成任何影响,但可以确保如果某些线程执行I/O,CPU有其他工作要做,而不是空闲。唯一可能的答案是:添加线程,直到资源耗尽。。找到一些工具来监视系统资源,并进行实验:在监视监视器的同时,向应用程序添加越来越多的线程 如果作业主要是CPU密集型的,则可能会使用n_cores+1线程
谢谢我通常会选择2倍数量的CPU核。在所有线程都忙的情况下,这几乎不会对性能造成任何影响,但可以确保如果某些线程执行I/O,CPU有其他工作要做,而不是空闲。唯一可能的答案是:添加线程,直到资源耗尽。。找到一些工具来监视系统资源,并进行实验:在监视监视器的同时,向应用程序添加越来越多的线程
- 如果作业主要是CPU密集型的,则可能会使用
线程n_cores+1
- 如果它执行IO延迟(比如,抓取网站),您将添加更多线程
- 如果它使用了大量内存,您将添加线程,直到使用所有24gb ram