Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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
groovy中的列表多处理_Groovy_Gpars - Fatal编程技术网

groovy中的列表多处理

groovy中的列表多处理,groovy,gpars,Groovy,Gpars,我在groovy中有一个URL列表,我想为每个URL启动一个新线程。我想知道执行列表多处理的groovy方法。 假设我有一个要同时从中获取数据的URL列表 def urls = ["https://stackexchange.com","https://amazon.com","https://bing.com","https://google.com"] withPool URL.size必须反映多个核心,而不是列表大小可能最好使用默认值,只需使用池即可{@injecteer不,那不是真的。

我在groovy中有一个URL列表,我想为每个URL启动一个新线程。我想知道执行列表多处理的groovy方法。 假设我有一个要同时从中获取数据的URL列表

def urls = ["https://stackexchange.com","https://amazon.com","https://bing.com","https://google.com"]

withPool URL.size必须反映多个核心,而不是列表大小可能最好使用默认值,只需使用池即可{@injecteer不,那不是真的。你在哪里读到的?我昨晚创建了一个演示脚本。它测试到1200台服务器的连接。尝试将池大小降低到你的核心数量,这将花费更长的时间来完成。@tim_yates如果我将它改为仅使用withPool,我会发布一个小测试脚本{,这需要30倍的时间。我猜默认情况下,池中的东西将进行大量处理,而在这种情况下,我们可能会花费大量时间等待解决连接并与服务器建立连接。
import groovyx.gpars.GParsPool

def urls = ["https://stackexchange.com","https://amazon.com","https://bing.com","https://google.com"]

GParsPool.withPool( urls.size() ) { urls.eachParallel { url ->
try {
        // test if url is reachable
        response = url.toURL().text
        println url + " connected OK"
    } 
catch (Exception e) {  println e }
    }
}