[心得] 多執行緒程式設計

看板java作者 (全新開始)時間15年前 (2010/08/21 07:32), 編輯推噓9(902)
留言11則, 7人參與, 最新討論串1/1
http://eoffice.im.fju.edu.tw/phpbb/viewtopic.php?t=6280 因為我覺得坊間好找又有提到多執行緒的書都沒有編得很好, 各種相關資料到處四散,而且很多說法令人疑信相參, 所以暑假發了一個願,整理一篇多執行緒的學習筆記給學弟弟參考, 順便練練口材和文筆,希望這篇指南可以變成作業系統理論與Java語言實務的橋樑。 但或許是我講話太無聊、錯誤太多,也可能是大家不感興趣。 寫了一個多月, 除了老師誇獎幾句以外,完全沒有任何反應....害得我像在對空氣講話。 這感覺還滿恐怖的,如果有人批評、給點意見,或是來信罵我胡說八道都還自然一點.... 怎麼會完全沒有反應呢? 真不曉得是發生什麼事.... 明明裡面就滿多不好的地方,例如一開始寫的程式都在建構式洩漏物件的參考, (最近很忙,以後會慢慢修改這些不良設計 XD) 還有一些內容是思考各方說法之後推論的結果,未必有什麼根據.... 沒有人提供意見參考的文章,很難寫得更好.... 於是我決定PO來請大家多批評指教,找出那些我理解不透徹的地方, 希望能聽聽大家對文章內容編排和程式碼的建議。 如果有些地方寫對了,這樣剛好又可以幫到那些初學執行緒的板友,就更好了.... 謝謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.39.215

08/21 07:41, , 1F
怎不用ServerSocke的例子 或者UI Threads
08/21 07:41, 1F

08/21 07:48, , 2F
你這個就是純粹介紹java threads 沒有應用在實例上
08/21 07:48, 2F
謝謝 以後會擴充一些常用到多執行緒的領域相關例子。 剛開始沒這樣做,是覺得那些程式寫來寫去,還是要懂相關API背後的理論才會寫得好, 而且這樣一個例子才不會出現太多不同的類別,讓不熟悉某些類別的人沒辦法快速上手。 話說回來,我想了想,會來看多執行緒的人,底子應該不會差到哪裡去才是。 這樣好像就不用太顧慮他們看不懂某些類別....直接拿更實際的例子好了。

08/21 08:10, , 3F
你可以利用實際的例子去解釋背後執行原理
08/21 08:10, 3F

08/21 08:13, , 4F
創造一些情景
08/21 08:13, 4F

08/21 09:30, , 5F
推~
08/21 09:30, 5F

08/21 12:09, , 6F
推~Thread這邊寫ServerSocket用過,但不熟悉,常常
08/21 12:09, 6F
或許可以參考Tomcat的架構設計,聽說它是產生新的執行緒來處理request的。 我曾經想用它的原始碼解釋多執行緒給大家聽,無奈程式功力太淺, 剛開始解讀,遇到批次檔就被擋在外面不得其門而入

08/21 12:11, , 7F
讓CPU的Loading飆高
08/21 12:11, 7F

08/21 12:44, , 8F
推! 比一堆作業文來亂的好太多了!!!!
08/21 12:44, 8F

08/21 12:46, , 9F
這些在OS的書上面就會提了(我的是恐龍書)
08/21 12:46, 9F
新版的不曉得,但我看第六版以前恐龍書上的Java程式碼都不夠深入, 像是OS的書似乎就沒有producer-customer的介紹? executor-service的介紹? Atomic套件? Semaphore的用法? 這些我都會盡可能補上程式碼範例。 而且OS書上有些內容是從作業系統的角度切入,不是java程式設計者關心的重點。 例如︰Kernal Threads和 API Threads的介紹就是這樣。 就算你不明白將來要跑bytecode的JVM是呼叫系統的kernal Threads還是使用別人的API, 一樣可以寫的出不錯的多執行緒程式。 現在有些部分與OS的書會重疊,因為都還在打基礎。 將來會盡可能擴充高階同步化類別的介紹。

08/21 15:23, , 10F
推!
08/21 15:23, 10F

08/23 02:56, , 11F
翻過這本書,想寫的內容也和他差不多,但我是理解以後用中文寫的 ※ 編輯: dream1124 來自: 219.87.85.162 (08/23 17:14)
文章代碼(AID): #1CRn20Mw (java)