5
A
回答
9
您應該嘗試使用來自Sun的the java tutorials併發性。
0
圖像處理和檢索Web數據通常會阻止用戶界面,使其成爲多線程設計的理想選擇。
1
ServerSocket示例非常簡單,測試和使用線程非常簡潔。
3
我推薦Doug Lea的書Concurrent Programming in Java: Design Principles and Patterns。 Doug Lea是我在紐約州立大學奧斯威戈分校的教授之一 - 偉大的教授,傑出的人物。這本書非常出色,它爲您提供了大量有關使用Java編寫好的多線程代碼的信息。
哦是啊,Doug Lea寫了大部分java.util.concurrent。所以他對這個主題是一個很好的權威;-)
0
我開始寫批處理工具,決定我不喜歡等待,並尋找方式來並行處理文件。請原諒僞碼;我的java真的很生疏。
考慮,你做一些事情,需要一段時間多次的情況:
foreach(var item in list)
{
doSomethingSlow(item);
}
在這種情況下,它可能是有益的添加一些代碼派遣打造一個線程出來的方法調用。我認爲正常的java方法來做到這一點將是如下脫離匿名線程。如果你需要能夠指向線程來獲得更多的控制,取消等等,你將不得不實現並實例化一個繼承自Thread的類。
new Thread({
public void run(){
doSomethingSlow(item);
}
}).start();
注:我沒有檢查,這是正確的語法,在你自己的危險使用。
這種方法應該可以爲您節省一些時間,打開思路平行的大門。您還可以查看loop unwinding並使用現在提供的許多不同的並行類庫。
我通常不喜歡玩具代碼的例子,而更喜歡通過創建有用的東西來學習,所以在一些教程中玩了一段時間的想法後,我建議你開始在所有項目中放入一些合理的併發代碼每一次都是有道理的。我不建議你試着讓每一行代碼都是並行的,因爲它調試起來非常困難,並且引入了太多的實例化線程的開銷。
相關問題
- 1. 我在哪裏可以學習編寫詞法分析器的基礎知識?
- 2. 我在哪裏可以找到示例Silverlight項目來學習
- 3. 學習Prolog基礎知識
- 4. 哪裏可以找到好的資源來學習XAML?
- 5. 你可以做些什麼來學習嵌入式編程基礎知識?
- 6. 我在哪裏可以找到Android UI的一些很好的示例?
- 7. 有人可以推薦一個很好的參考來學習服務器端腳本的基礎知識
- 8. 如何學習編程基礎知識?
- 9. 我在哪裏可以找到一個很好的iPhone自學教程?
- 10. Tim Sort - 在哪裏可以找到一些很好的文檔?
- 11. 我在哪裏可以找到一些很好的WS-Security介紹和教程?
- 12. 學習WCF的基礎知識
- 13. 學習UIScrollView的基礎知識
- 14. 我在哪裏可以找到一個很好的FFT示例實現/教程?
- 15. C++ - 在短時間內需要學習一些基礎知識
- 16. 我在哪裏可以找到一個很好的mwclient介紹?
- 17. 我在哪裏可以找到特權升級的好例子?
- 18. 我在哪裏可以找到MonoTouch 2D遊戲的好例子?
- 19. 我在哪裏可以找到一些很棒的JQuery菜單?
- 20. 我在哪裏可以在C++中找到一些很好的示例來研究面向對象的概念?
- 21. 我在哪裏可以找到一個很好的示例GAsyncQueue在進程和線程之間的用法
- 22. Java和Xml基礎知識和學習
- 23. 學習網絡基礎知識
- 24. 幫助學習算法基礎知識
- 25. 機器學習:基礎知識DepreciationWarning
- 26. 我在哪裏可以找到一個很好的JavaScript/HTML AutoSuggest示例
- 27. 有什麼好的視頻來學習學習javascript所需的編程基礎知識嗎?
- 28. 我在哪裏可以找到一些優秀的開源Android遊戲來加速學習過程?
- 29. 我在哪裏可以找到基本的幾何例程?
- 30. JPA我在哪裏可以找到一些基本的解釋
和http://www.javaconcurrencyinpractice.com/(該網站,最好是書)。 – 2009-05-27 18:34:07
是的,這是一本很棒的書,如果他想追求這一點,而不是非常簡單的例子,這絕對是值得的。 – 2009-05-27 18:36:25