首先來回顧一下進程和線程的概念吧。
進程(Process)是計算機中已運行程序的實體。進程為曾經是分時系統的基本運作單位。
線程(thread)是操作系統能夠進行運算調度的最小單位,也是進程內的一個執行單元,程內的可調度實體。
線程的狀態:
1)產生(spawn)
2)中斷(block)
3)非中斷(unblock)
4)退出(finish)
與進程的區別:
1)地址空間:進程內的一個執行單元;進程至少有一個線程;它們共享進程的地址空間;而進程有自己獨立的地址空間;
2)資源擁有:進程是資源分配和擁有的單位,同一個進程內的線程共享進程的資源
3)線程是處理器調度的基本單位,但進程不是.
4)二者均可並發執行.