Re: [問題] thread問題!!!

看板java作者 (!H45)時間17年前 (2008/06/24 17:03), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/5 (看更多)
※ 引述《king08 (糊塗蛋)》之銘言: : ※ 引述《H45 (!H45)》之銘言: : : Future Pattern: : : http://caterpillar.onlyfun.net/Gossip/DesignPattern/FuturePattern.htm : : 把該變數宣告在需要他的物件能夠取得的地方即可。 : : 如果您不熟 Future Pattern, 上面的連結所描述的內容可能太過於簡略 : : 請試著用 Google 找以下的關鍵字:Lecture 10: Java Threads Programming 3 : : 我稍微看了一下,內容有比較詳細一點,參考看看是否適用於您的應用吧。 : 在Java 5.0中你可以用Future這個Interface : 相關說明: : http://doc.java.sun.com/DocWeb/api/java.util.concurrent.Future%3CV%3E 我稍微研究了一下 java.util.concurrent 之中與 Future 有關的類別與介面 消化之後利用 Future, FutureTask, Executor 寫出一個範例去計算 1+2+...+10000 public static void main(String[] args) throws Exception { // 建立未來物件,這個東西是未來會運算完畢並且回傳一個物件的。 // 此例是回傳一個 Integer 物件。 FutureTask<Integer> future = new FutureTask<Integer>( new Callable<Integer>() { public Integer call() { // count = 0+1+2+...+10000 int count = 0; for (int i = 0; i < 10000; i++) { count += i; } return count; } }); // 建立單執行緒去處理掉這個未來物件 Executors.newSingleThreadExecutor().execute(future); // 處理中 System.out.println("Executing..."); // 等待未來物件建立完畢,並且將結果取出來 System.out.println(future.get()); // 結束 System.exit(0); } 寫完之後的心得是 如果有時間的話,不妨學習一下怎麼使用 java.util.concurrent.* 這是不錯的經驗,因為學會之後就不用自己去實作 Future Pattern 了,真省功! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.13

06/25 13:15, , 1F
敝公司還在1.4...這個pattern實務上gui經常用
06/25 13:15, 1F
文章代碼(AID): #18OBXt5k (java)
討論串 (同標題文章)
文章代碼(AID): #18OBXt5k (java)