Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 基于系统规格的线程_Multithreading_Threadpool - Fatal编程技术网

Multithreading 基于系统规格的线程

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

我有一个24gb内存的服务器,四核xeons和超线程。我需要在我的服务器应用程序中创建一个线程池。线程池的最大线程数准则是什么(如果有的话)


谢谢

我通常会选择2倍数量的CPU核。在所有线程都忙的情况下,这几乎不会对性能造成任何影响,但可以确保如果某些线程执行I/O,CPU有其他工作要做,而不是空闲。

唯一可能的答案是:添加线程,直到资源耗尽。。找到一些工具来监视系统资源,并进行实验:在监视监视器的同时,向应用程序添加越来越多的线程

  • 如果作业主要是CPU密集型的,则可能会使用
    n_cores+1
    线程

  • 如果它执行IO延迟(比如,抓取网站),您将添加更多线程

  • 如果它使用了大量内存,您将添加线程,直到使用所有24gb ram