日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

程序、进程、线程和任务之间关系

發布時間:2023/12/31 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 程序、进程、线程和任务之间关系 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:程序、進程、線程和任務之間關系

關系總覽

程序(靜態)
簡單來說,程序可以描述為任何可執行文件。它包含一組完成特定的操作指令集合。它駐留在內存。它是一個被動的實體,不會因操作系統重新重啟而消失。

進程(動態)
程序的任何運行實例都稱為進程,也可以將其描述為正在執行的程序。一個程序可以有多個進程。進程駐留在主內存中,因此進程會隨機器重啟而消失。多個進程可以在多處理器系統上并行運行。

線程
線程通常被描述為輕量級進程。一個進程可以有多個線程。同一進程中的線程與該進程共享內存。線程和進程之間的本質區別是每個線程用于完成的工作。線程用于小而緊湊的任務,而進程用于更重的任務。

線程 vs. 進程
線程和進程之間的一個主要區別是,同一進程中的線程使用相同的地址空間,而不同的進程則不會。這允許線程讀寫公共共享和數據結構和變量,也增加了線程之間的通信。然而,進程間通信(即IPC)是非常困難的,并且需要耗費大量資源。

任務(抽象)
任務與線程非常相似,不同之處在于,它們通常不直接與操作系統交互。與線程池一樣,任務不創建自己的OS線程。一個任務內部可能有也可能沒有多個線程。

什么時候用任務?
任務比創建自己的線程更簡單、更有效。

什么時候用線程?
你需要比任務提供的更多的控制,直接使用線程更有意義。

最重要的是,任務幾乎總是最好的選擇;它提供了一個更強大的API,并且避免了操作系統線程的浪費。在現代代碼中顯式創建自己的線程的唯一原因是設置每個線程選項,或者維護一個需要維護自己標識的持久線程。

公眾號

總結

以上是生活随笔為你收集整理的程序、进程、线程和任务之间关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。