Python并發編程—進程

多任務編程

1.意義: 充分利用計算機多核資源,提高程序的運行效率。

2.實現方案 :多進程 , 多線程

3.并行與并發

  • 并發 : 同時處理多個任務,內核在任務間不斷的切換達到好像多個任務被同時執行的效果,實際每個時刻只有一個任務占有內核。
  • 并行 : 多個任務利用計算機多核資源在同時執行,此時多個任務間為并行關系。

進程(process)

進程理論基礎

1.定義 : 程序在計算機中的一次運行。

  • 程序是一個可執行的文件,是靜態的占有磁盤。
  • 進程是一個動態的過程描述,占有計算機運行資源,有一定的生命周期。

2.系統中如何產生一個進程

  1. 用戶空間通過調用程序接口或者命令發起請求
  2. 操作系統接收用戶請求,開始創建進程
  3. 操作系統調配計算機資源,確定進程狀態等
  4. 操作系統將創建的進程提供給用戶使用

3.進程基本概念

  • cpu時間片:如果一個進程占有cpu內核則稱這個進程在cpu時間片上。
  • PCB(進程控制塊):在內存中開辟的一塊空間,用于存放進程的基本信息,也用于系統查找識別進程。
  • 進程ID(PID): 系統為每個進程分配的一個大于0的整數,作為進程ID。每個進程ID不重復。

    Linux查看進程ID : ps -aux

  • 父子進程 : 系統中每一個進程(除了系統初始化進程)都有唯一的父進程,可以有0個或多個子進程。父子進程關系便于進程管理。

    查看進程樹: pstree

  • 進程狀態

三態

就緒態 : 進程具備執行條件,等待分配cpu資源

運行態 : 進程占有cpu時間片正在運行

等待態 : 進程暫時停止運行,讓出cpu

五態 (在三態基礎上增加新建和終止)
新建 : 創建一個進程,獲取資源的過程
終止 : 進程結束,釋放資源的過程

  • 狀態查看命令 : ps -aux --> STAT列
S 等待態
R 執行態
D 等待態
T 等待態
Z 僵尸
<  有較高優先級
N  優先級較低
+  前臺進程
s  會話組組長
l  有多線程的
  • 進程的運行特征
  1. 進程可以使用計算機多核資源
  2. 進程是計算機分配資源的最小單位
  3. 進程之間的運行互不影響,各自獨立
  4. ?每個進程擁有獨立的空間,各自使用自己空間資源

轉載于:https://www.cnblogs.com/maplethefox/p/10989075.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248776.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248776.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248776.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue 腳手架中的.eslintrc.js代碼規范 的解決

在我們使用Vue腳手架 創建項目時 尤其是團隊共同開發項目時 會按照一個共同的代碼規范來編程 創建Vue腳手架中有一個.eslintrc.js格式 但是在編程中我們通常會使用 shiftaltf 進行代碼格式化 但是由于格式化后的代碼 與Vue中的.eslintrc規范不協調 尤其是 “” &#xff1b; 以…

innodb_locks_unsafe_for_binlog分析

mysql數據庫中默認的隔離級別為repeat-read. innodb默認使用了next-gap算法&#xff0c;這種算法結合了index-row鎖和gap鎖。正因為這樣的鎖算法&#xff0c;innodb在可重復讀這樣的默認隔離級別上&#xff0c;可以避免幻象的產生。 innodb_locks_unsafe_for_binlog最主要的作用…

emacs的使用方法

emacs的使用方法 emacs配置&#xff1a; 將文件命名為.emacs&#xff0c;把配置敲進去&#xff0c;放在home文件夾 emacs命令行&#xff1a; altx打開命令行 編譯&#xff1a; 在命令行輸入compile&#xff0c;回車&#xff0c;會出現make -k&#xff0c;刪掉它&#xff0c;輸入…

前端面試---Vue部分考點梳理

一. Vue的使用 1. Vue的基本使用 指令 插值 插值 表達式 指令 動態屬性 v-html 會有XSS風險 會覆蓋子組件 computed 和 watch computed 有緩存 data不變則不會重新計算watch 如何深度監聽watch 監聽引用類型時 拿不到oldVal v-for v-for 和 v-if 不能同時使用:key的值盡量…

.net core實現跨域

什么是跨域在前面已經講解過了&#xff0c;這里便不再講解&#xff0c;直接上代碼。 一、后臺API接口 用.net core創建一個Web API項目負責給前端界面提供數據。 二、前端界面 建立兩個MVC項目&#xff0c;模擬不同的ip&#xff0c;在view里面添加按鈕調用WEB API提供的接口進行…

TCP/IP簡介

TCP/IP簡介 OSI的“實現”&#xff1a;TCP/IP參考模型 并不完全符合OSI的七層參考模型&#xff0c;但我們可以理解為OSI的一種實現 TCP/IP協議簡述 在很多情況下&#xff0c;它只是利用IP協議進行通信時&#xff0c;所必須用到的協議群的統稱&#xff0c;具體來說&#xff0c;I…

Spring-Cloud 學習筆記-(4)負載均衡器Ribbon

目錄 Spring-Cloud 學習筆記-&#xff08;4&#xff09;負載均衡器Ribbon1、前言2、什么是負載均衡2.1、問題分析2.2、什么是Ribbon3、快速入門3.1、實現方式一3.1.1、修改代碼3.2、實現方式二3.2.1、啟動類3.2.2、調用代碼3.2.3、測試3.2.4、實現原理3.2.5、斷點調式3.3、修改…

‘仿微信發表朋友圈’項目中登錄功能的業務邏輯

登錄功能 手機號驗證碼都通過后端驗證后 返回用戶數據 登陸成功 成功后 調用store中的setUser方法 store中的setUser方法 將后端返回的用戶信息存儲到localStorage中 同時登錄成功后服務器會將token自動存入我們的cookie中 有過期時間 在我們請求需要登錄的接口時將cookie中的…

kubernetes--配置文件

轉載于:https://www.cnblogs.com/caiciadeliliang/p/10993388.html

微信動態中的背景圖更換

初衷&#xff1a; 圖一中的紅框中的部分&#xff0c;作為用戶自定義的背景圖&#xff0c;如果用戶沒有上傳也會為其自動設置一張背景圖&#xff0c;當用戶點擊時則會出現圖二中的選項 &#xff0c;點擊取消則選項消失&#xff0c;點擊從相冊選擇則會跳轉本機的相冊&#xff0c…

大數據學習——akka自定義RPC

實現 package cn.itcast.akkaimport akka.actor.{Actor, ActorSystem, Props} import akka.actor.Actor.Receive import com.typesafe.config.ConfigFactoryimport scala.collection.mutableimport scala.concurrent.duration._class Master(val host: String, val port: Int) …

從Client應用場景介紹IdentityServer4(一)

從Client應用場景介紹IdentityServer4&#xff08;一&#xff09; 原文:從Client應用場景介紹IdentityServer4&#xff08;一&#xff09;一、背景 IdentityServer4的介紹將不再敘述&#xff0c;百度下可以找到&#xff0c;且官網的快速入門例子也有翻譯的版本。這里主要從Clie…

開發常用代碼筆記

Vue 使用moment插件對時間進行格式化&#xff08;全局設置&#xff09; 下載插件 npm install moment --save 在main.js中引入插件 import moment from ‘moment’ 在main.js中定義全局過濾器 Vue.filter(dataFilter,function (dataStr,patten YYYY-MM-DD HH:mm:ss) {retur…

springboot 參數校驗詳解

https://www.jianshu.com/p/89a675b7c900 在日常開發寫rest接口時&#xff0c;接口參數校驗這一部分是必須的&#xff0c;但是如果全部用代碼去做&#xff0c;顯得十分麻煩&#xff0c;spring也提供了這部分功能,本文來探究一下如何實現 1.配置 spring-boot-starter-web包自動依…

微信小程序——賬號及開發工具

1. 注冊微信小程序賬號 點擊我進入微信公眾平臺 進入后點擊立即注冊 注冊成功且登錄后進入小程序管理后臺 2. 安裝開發者工具 點擊進入開發文檔 進入安裝開發工具&#xff08;穩定版本&#xff09; 一路默認下一步進行安裝 3. 開發者工具的使用 使用注冊微信小程序的微信號…

CSS注意的地方

content-box和border-box的區別 2018年02月27日 22:20:16 sulingliang 閱讀數&#xff1a;8011盒子模型 盒子寬度&#xff1a;paddingbordercontent-width 盒子高度&#xff1a;paddingbordercontent-height 如圖所示 盒子模型content-box 說明&#xff1a;在內容寬度和高度之…

機器學習筆記(6) 線性回歸

先從最簡單的例子開始,假設我們有一組樣本(如下圖的一個個黑色的圓點),只有一個特征,如下圖,橫軸是特征值,縱軸是label。比如橫軸是房屋面積,縱軸是房屋價格. 現在我們要做什么呢&#xff1f;我們試圖找到一條直線yaxb,可以盡量好的擬合這些點. 你可能要問了,為啥是直線,不是曲…

仿微信朋友圈項目梳理

項目功能簡介&#xff1a; 用戶通過手機號驗證碼進行登錄和注冊 可以瀏覽動態列表中的所有動態 登錄成功后用戶可以發表自己的動態 也可以對自己認可欣賞的動態進行點贊和評論 也可以通過動態結識志同道合的朋友 進行聊天和探討 前端&#xff1a;采用Vue框架搭建 weui進行頁面…

如何處理大流量高并發

1.動靜分離。 將網站中的靜態資源單獨拆分出來, 比如 css, js, 圖片, 視頻資源單獨存儲在一臺服務器上, 或者直接使用云存儲平臺, 七牛云或者阿里云之類的, 這樣能有效的降低主服務器的運行壓力 2.CDN加速。 云平臺提供 CDN 加速, 可以對資源進行全國服務器節點的分發, 提高全國…

echarts鼠標事件以及自定義數據獲取

事件添加方法&#xff1a; 對應官網位置&#xff1a;https://www.echartsjs.com/api.html#events 鼠標事件包括 click、dblclick、mousedown、mousemove、mouseup、mouseover、mouseout、globalout、contextmenu。 myChart.on(click, function (params) {console.log(params); …