2013-01-19 82 views
1

我正在尝试为Java和GPars找到一个类似的代码片段,以便可视化,GPars更容易。
下面的代码在两种情况下都做同样的事吗?我不是只意味着输出,而是“内部”发生的事情。 还是有办法缩短它甚至更多?比较Java和GPars

的Java:

package java; 

public class Main extends Thread { 

    public void run() { 
     for (int i = 1; i <= 100; i++) { 
      System.out.println(i); 
     } 
    } 

    public static void main(String args[]) { 
     (new Main()).start(); 
    } 

} 

的Groovy:

import static groovyx.gpars.GParsPool.withPool 

withPool{ 
    for(int i=1; i<=100; i++) { 
     println (i) 
    } 
} 
+0

在Groovy代码片段中, 您应该使用** eachParallel **代替**(...)** –

回答

2

第一个示例创建一个新的线程,并运行了里面循环(遍历得到所有的方式线程不一个守护进程线程,所以虚拟机将不会退出,直到线程完成)

第二个示例调用withPool,然后不对此池执行任何操作,只是在cur中运行for循环租用线程。您没有使用任何GPars并发方法,因此可以省略withPool以获得完全相同的结果。

0

您无法比较Java(语言)和GPars(库)。您可以比较语言和语言,或者图书馆和图书馆。顺便说一下,GPars可以直接从Java使用。你可能的意思是比较标准的java库和GPars。