2013-01-19 121 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。