Groovy: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 1397:
 
== Потоки и асинхронная работа ==
//Обычный запуск в новом потоке:
 
<syntaxhighlight lang="groovy">
//эта аннотация скачивает и устанавливает библиотеку в classpath
@Grab(group='org.codehaus.gpars', module='gpars', version='0.12')
import static groovyx.gpars.GParsExecutorsPool.withPool
 
//запуск в новом потоке
Thread.start {
println Thread.currentThread().getId()
}
</syntaxhighlight>
//50 раз сделать асинхронную загрузку страницы(и распечатать ответ)
С помощью фреймворка для параллельного выполнения задач [http://www.gpars.org/ GPars]:
<syntaxhighlight lang="groovy">
//эта аннотация скачивает и устанавливает библиотеку в classpath
@Grab(group='org.codehaus.gpars', module='gpars', version='01.122.1')
import static groovyx.gpars.GParsExecutorsPool.withPool
//50С помощью GPars 5 раз сделать асинхронную загрузку страницы(и распечатать ответ)
//по url в отдельных потоках
int count = 505
withPool(count) {
count.times {