更新時間:2020-06-16 11:31:36 來源:動力節點 瀏覽2483次
多個進程的內部數據和狀態都是完全獨立的,而多線程是共享一塊內存空間和一組系統資源,有可能互相影響.•線程本身的數據通常只有寄存器數據,以及一個程序執行時使用的堆棧,所以線程的切換比進程切換的負擔要小。
多線程編程的目的,就是"最大限度地利用CPU資源",當某一線程的處理不需要占用CPU而只和I/O等資源打交道時,讓需要占用CPU資源的其它線程有機會獲得CPU資源。從根本上說,這就是多線程編程的最終目的。
Java給多線程編程提供了內置的支持。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發多個線程,每條線程并行執行不同的任務。
多線程是多任務的一種特別的形式,但多線程使用了更小的資源開銷。
這里定義和線程相關的另一個術語-進程:一個進程包括由操作系統分配的內存空間,包含一個或多個線程。一個線程不能獨立的存在,它必須是進程的一部分。一個進程一直運行,直到所有的非守護線程都結束運行后才能結束。
多線程能滿足程序員編寫高效率的程序來達到充分利用CPU的目的。
在Java中,類僅支持單繼承,也就是說,當定義一個新的類的時候,它只能擴展一個外部類.這樣,如果創建自定義線程類的時候是通過擴展Thread類的方法來實現的,那么這個自定義類就不能再去擴展其他的類,也就無法實現更加復雜的功能。因此,如果自定義類必須擴展其他的類,那么就可以使用實現Runnable接口的方法來定義該類為線程類,這樣就可以避免Java單繼承所帶來的局限性。
實現Runnable接口相對于擴展Thread類來說,具有無可比擬的優勢。這種方式不僅有利于程序的健壯性,使代碼能夠被多個線程共享,而且代碼和數據資源相對獨立,從而特別適合多個具有相同代碼的線程去處理同一資源的情況。這樣一來,線程、代碼和數據資源三者有效分離,很好地體現了面向對象程序設計的思想。因此,幾乎所有的多線程程序都是通過實現Runnable接口的方式來完成的。
Java多線程基礎教程
Java多線程編程:http://www.dabaquan.cn/javathread/
以上就是動力節點java培訓機構的小編針對“多線程編程教程,Java多線程基本方法”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習