熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java線程模型缺陷研究[1]

2013-11-23 19:56:03  來源: Java高級技術 

    Java 編程語言的線程模型可能是此語言中最薄弱的部分它完全不適合實際復雜程序的要求而且也完全不是面向對象的本文建議對 Java 語言進行重大修改和補充以解決這些問題

    Java 語言的線程模型是此語言的一個最難另人滿意的部分盡管 Java 語言本身就支持線程編程是件好事但是它對線程的語法和類包的支持太少只能適用於極小型的應用環境

    關於 Java 線程編程的大多數書籍都長篇累牍地指出了 Java 線程模型的缺陷並提供了解決這些問題的急救包(BandAid/邦迪創可貼)類庫我稱這些類為急救包是因為它們所能解決的問題本應是由 Java 語言本身語法所包含的從長遠來看以語法而不是類庫方法將能產生更高效的代碼這是因為編譯器和 Java 虛擬器 (JVM) 能一同優化程序代碼而這些優化對於類庫中的代碼是很難或無法實現的

    Allen Holub 指出在我的《Taming Java Threads 》(請參閱 參考資料 )書中以及本文中我進一步建議對 Java 編程語言本身進行一些修改以使得它能夠真正解決這些線程編程的問題本文和我這本書的主要區別是我在撰寫本文時進行了更多的思考 所以對書中的提議加以了提高這些建議只是嘗試性的 只是我個人對這些問題的想法而且實現這些想法需要進行大量的工作以及同行們的評價

    這裡提出的建議是非常大膽的有些人建議對 Java 語言規范 (JLS)(請參閱參考資料 )進行細微和少量的修改以解決當前模糊的 JVM 行為但是我卻想對其進行更為徹底的改進

    在實際草稿中我的許多建議包括為此語言引入新的關鍵字雖然通常要求不要突破一個語言的現有代碼是正確的但是如果該語言的並不是要保持不變以至於過時的話它就必須能引入新的關鍵字為了使引入的關鍵字與現有的標識符不產生沖突經過細心考慮我將使用一個 ($) 字符而這個字符在現有的標識符中是非法的(例如使用 $task而不是 task)此時需要編譯器的命令行開關提供支持能使用這些關鍵字的變體而不是忽略這個美元符號

[]  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27690.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.