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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python process_Python Process/Thread 概念整理

發布時間:2024/7/23 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python process_Python Process/Thread 概念整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進程與線程 并發與并行

進程與線程

首先要理解的是,我們的軟件都是運行在操作系統之上,操作系統再控制硬件,比如 處理器、內存、IO設備等。操作系統為了向上層應用程序提供 簡單一致 的機制來控制復雜而又大相徑庭的低級硬件設備 抽象出 進程 的概念。進程是比較重量級的操作系統資源,它擁有獨立的內存空間,而在 現代操作系統中為了實現在一個進程中執行多種任務,因此實現了 線程。 一個 進程 可以由多個 線程組成,每個 線程 是一個執行單元,線程 運行在 進程 的上下文環境中,并共享 同樣的代碼和全局數據。

我們經常說的 多線程 就是指的 在一個進程內有多個線程在執行任務,在實際開發中,開發者寫的代碼其實都是在線程的環境中執行的,而在多線程開發中,經常涉及到 一些 線程安全的問題,簡單的看下進程 和 線程占有的資源情況

簡單的理解 線程安全 的問題:多線程程序在運行時候,可能會同時對一個變量進行操作,操作的時候,一般線程會將這個變量的值 copy 到 自身線程的巨變變量中,再進行操作,此時可能就會發生 讀寫時數據不同步(數據已經被其他線程操作了,自身線程操作時讀取的值已經是舊的了)的問題。

并發與并行

進程 可以申請和擁有系統資源,進程是一個實體,程序的執行依賴于、主存(存放程序和程序處理的數據) CPU(執行代碼) 等…(比如IO),而進程相當于一個環境,是控制這些操作系統硬件的實體,在操作系統中,一個系統上可以運行多個進程,運行的進程一般是多于運行它們的CPU 個數的, 所以通常一個CPU 可能需要運行多個進程任務,一個CPU 就像是一個工人,他一個時間節點只能做一件事情,所以 CPU 得頻繁的在多個 進程中切換(上下文切換),這種現象就是并發執行。

并行執行的概念是指 多個程序在多個CPU上同時執行,“并行” 概念是 并發 概念的一個子集,我們可以編寫一個 并行程序,但是如果沒有足夠的 CPU 來執行,那么最終就變成了并發執行

并發:同時有很多任務需要做,可以串行執行也可以并行執行

并行:可以同時(嚴格意義上的)做多個任務

作者:zhuoxiuwu

總結

以上是生活随笔為你收集整理的python process_Python Process/Thread 概念整理的全部內容,希望文章能夠幫你解決所遇到的問題。

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