sri*_*ath 3 grails groovy multithreading
我是groovy/grails的新手.
如何为此代码实现线程.有2500个网址,这需要花费数小时的时间来检查每个网址.
所以我决定为此实现多线程:
这是我的示例代码:
def urls = [
"http://www.wordpress.com",
"http://67.192.103.225/QRA.Public/" ,
"http://www.subaru.com",
"http://baldwinfilter.com/products/start.html"
]
def up = urls.collect { ur ->
try {
def url = new URL(ur)
def connection = url.openConnection()
if (connection.responseCode == 200) {
return true
} else {
return false
}
} catch (Exception e) {
return false
}
}
Run Code Online (Sandbox Code Playgroud)
对于此代码,我需要实现多线程.
任何人都可以建议我的代码.
先谢谢,谢谢
.
moj*_*nes 11
我将看看Groovy并行系统库.特别是我认为Parallel collections部分会很有用.
看看文档,我相信collectParallel是collect的直接替代品(记住关于副作用的明显警告).以下工作对我来说很好:
def urls = [
"http://www.wordpress.com",
"http://www.subaru.com",
"http://baldwinfilter.com/products/start.html"
]
Parallelizer.doParallel {
def up = urls.collectParallel { ur ->
try {
def url = new URL(ur)
def connection = url.openConnection()
if (connection.responseCode == 200) {
return true
} else {
return false
}
} catch (Exception e) {
return false
}
}
println up
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6761 次 |
| 最近记录: |