1. 程式人生 > >JAVA語法——經典題目06

JAVA語法——經典題目06

繼承 進程間通信ipc 直接 進程同步 序列 什麽 獨立 情況下 語法

011.進程和線程的區別是什麽?

進程是執行著的應用程序,而線程是進程內部的一個執行序列。一個進程可以有多個線程。線程又叫做輕量級線程。

線程與進程的區別歸納:

a.地址空間和其他資源:進程間相互獨立。同一進程的各線程間共享。某進程內的線程在其他進程不可見。

b.通信:進程間通信IPC,線程間可以直接讀寫進程數據段(如全局變量)來進行通信——需要進程同步和互斥手段的輔助,以保證數據的一致性。

c.調度和切換:線程上下文切換比進程上下文切換要快得多。

d.在多線程OS中,進程不是一個可執行的實體

012.創建線程有幾種不同的方式?你喜歡哪一種?為什麽?

有4中方式可以用來創建線程:

繼承Thread類

實現Runnable接口

應用程序可以使用Executor框架來創建線程池

實現Runnable接口這種方式更受歡迎,因為這不需要繼承Thread類。在應用設計中已經繼承了別的對象的情況下,這需要多繼承(而JAVA不支持多繼承),只能實現接口。同時,線程池也是非常高效的,很容易實現和使用。

還有一種方式是實現Callable接口。

JAVA語法——經典題目06