Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/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
Java 更多线程=每秒更少的请求?_Java_Multithreading_Http_Httpurlconnection - Fatal编程技术网

Java 更多线程=每秒更少的请求?

Java 更多线程=每秒更少的请求?,java,multithreading,http,httpurlconnection,Java,Multithreading,Http,Httpurlconnection,我目前正在用java编写一个爬虫程序,我被一些东西卡住了 在我的爬虫程序中,我有线程使用HttpURLConnection下载静态远程页面。 我试着下载一个小文件(2kb)和不同的参数。连接的超时设置为1s 我注意到,如果我使用100个线程进行下载,我每秒成功地发出了3倍多的请求(每秒约10k个请求,使用),而当使用500个线程时,我每秒成功地发出“仅”4k个请求 我希望每秒至少能够执行100个线程的请求 你能解释一下为什么会出现这种情况,以及是否有一些参数需要激活以增加最大并联连接数吗 谢谢:

我目前正在用java编写一个爬虫程序,我被一些东西卡住了

在我的爬虫程序中,我有线程使用
HttpURLConnection
下载静态远程页面。 我试着下载一个小文件(2kb)和不同的参数。连接的超时设置为1s

我注意到,如果我使用100个线程进行下载,我每秒成功地发出了3倍多的请求(每秒约10k个请求,使用),而当使用500个线程时,我每秒成功地发出“仅”4k个请求

我希望每秒至少能够执行100个线程的请求

你能解释一下为什么会出现这种情况,以及是否有一些参数需要激活以增加最大并联连接数吗


谢谢:)

我认为这只是你的cpu的问题,在某一点上,切换威胁比不等待单一连接所获得的时间更昂贵


我会通过设置上限来最大化parralel连接

我认为这只是cpu的问题,在某一点上,切换威胁比不等待单个连接所获得的时间更昂贵


我会通过设置一个上限来最大化parralel连接。问题是CPU使用率在20%左右,所以我想这还不是阻塞问题,对吧?问题是CPU使用率在20%左右,所以我想这还不是阻塞问题,对吗?