1、什么是線程?
線程是指程序在執行過程中,能夠執行程序代碼的一個執行單元,在Java語言中,線程有四種狀態:運行,就緒,掛起,結束。
2、線程與進程的區別?
進程是一段正在運行的程序,而線程有時也被稱為輕量級進程,它是進程的執行單元,一個進程可以擁有多個線程,各個線程之間共享程序的內存空間,但是,各個線程擁有自己的棧空間。
3、為什么使用多線程?
(1)、使用多線程可以減少程序的響應時間。單線程如果遇到等待或阻塞,將會導致程序不響應鼠標鍵盤等操作,使用多線程可以解決此問題,增強程序的交互性。
(2)、與進程相比,線程的創建和切換開銷更小,因為線程共享代碼段、數據段等內存空間。
(3)、多核CPU,多核計算機本身就具有執行多線程的能力,如果使用單個線程,將無法重復利用計算資源,造成資源的巨大浪費。
(4)、多線程可以簡化程序的結構,使程序便於維護,一個非常復雜的進程可以分為多個線程執行。
