91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

線程以及多線程,多進程的選擇

發布時間:2020-08-11 04:02:06 來源:ITPUB博客 閱讀:125 作者:安全劍客 欄目:服務器
我的理解是進程是指在系統中正在運行的一個應用程序;程序一旦運行就是進程,或者更專業化來說:進程是指程序執行時的一個實例,線程是進程的一個實體。

進程——資源分配的最小單位,線程——程序執行的最小單位。
線程以及多線程,多進程的選擇

線程進程的區別體現在幾個方面:

0:因為進程擁有獨立的堆棧空間和數據段,所以每當啟動一個新的進程必須分配給它獨立的地址空間,建立眾多的數據表來維護它的代碼段、堆棧段和數據段,這對于多進程來說十分“奢侈”,系統開銷比較大,而線程不一樣,線程擁有獨立的堆棧空間,但是共享數據段,它們彼此之間使用相同的地址空間,共享大部分數據,比進程更節儉,開銷比較小,切換速度也比進程快,效率高,但是正由于進程之間獨立的特點,使得進程安全性比較高,也因為進程有獨立的地址空間,一個進程崩潰后,在保護模式下不會對其它進程產生影響,而線程只是一個進程中的不同執行路徑。一個線程死掉就等于整個進程死掉。

1:體現在通信機制上面,正因為進程之間互不干擾,相互獨立,進程的通信機制相對很復雜,譬如管道,信號,消息隊列,共享內存,套接字等通信機制,而線程由于共享數據段所以通信機制很方便。

2:屬于同一個進程的所有線程共享該進程的所有資源,包括文件描述符。而不同的進程相互獨立。

3:線程又稱為輕量級進程,進程有進程控制塊,線程有線程控制塊;

4:線程必定也只能屬于一個進程,而進程可以擁有多個線程而且至少擁有一個線程;

5:體現在程序結構上,舉一個簡明易懂的列子:當我們使用進程的時候,我們不自主的使用if else嵌套來判斷pid,使得程序結構繁瑣,但是當我們使用線程的時候,基本上可以甩掉它,當然程序內部執行功能單元需要使用的時候還是要使用,所以線程對程序結構的改善有很大幫助。

進程與線程的選擇取決以下幾點:

0:需要頻繁創建銷毀的優先使用線程;因為對進程來說創建和銷毀一個進程代價是很大的。

1:線程的切換速度快,所以在需要大量計算,切換頻繁時用線程,還有耗時的操作使用線程可提高應用程序的響應

2:因為對CPU系統的效率使用上線程更占優,所以可能要發展到多機分布的用進程,多核分布用線程;

3:并行操作時使用線程,如C/S 的服務器端并發線程響應用戶的請求;

4:需要更穩定安全時,適合選擇進程;需要速度時,選擇線程更好。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渝北区| 安新县| 邵阳县| 霸州市| 青田县| 黑水县| 韶关市| 长葛市| 北海市| 怀化市| 安乡县| 肇源县| 本溪| 青州市| 外汇| 招远市| 六盘水市| 遵化市| 昌邑市| 固阳县| 蓬安县| 阿城市| 鲁甸县| 阿勒泰市| 长白| 延寿县| 姜堰市| 杨浦区| 海盐县| 长治县| 翁源县| 宁城县| 华亭县| 梁山县| 榆社县| 华坪县| 通辽市| 蒙自县| 四子王旗| 五华县| 湾仔区|