線程與進程的區別

線程與進程的區別:

  1)從定義來看:

        線程:線程是系統執行的最小單位,即CPU調度的最小單位

        進程:進程是一組指令加數據加資源的組合,(正在運行的程序,動態的);進程是資源分配的最小單位。

  2)進程和線程的關係:

     a.一個線程只能屬於一個進程,一個進程可以有多個線程,但是至少有一個線程即主線程。

     b.同一個進程的所有線程共享該線程的所有資源

     c.線程是指進程內的一個執行單元,也是進程內的可調度實體。

     d.進程的創建函數 fork();線程的創建函數pthread_create();

3)多線程和多進程的區別:

  線程間的數據共享:多線程之間共享全局變量,堆區數據,文件描述符,但是各個線程有自己的棧區。

  父子進程間的數據共享:只有文件描述符共享,其餘都不共享。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章