python---基礎知識回顧(十)進程和線程
前戲:進程和線程的概念
若是學過linux下的進程,線程,信號...會有更加深刻的了解。所以推薦去學習下,包括網絡編程都可以去了解,尤其是對select,pool,epool都會有更多的認識。
進程就是資源管理的最小單位,而線程是程序執行的最小單位。一個程序可以有多個進程,一個進程可以有多個同時執行的線程
1.進程:
操作系統隔離各個進程可以訪問的地址空間。如果進程間需要傳遞信息。那麽可以使用進程間通信或者其他方式,像信號,像文件,數據庫,剪切板....等。在進程的調度中,進程進行切換所需要的事件是比較多的。為了更好的支持信息共享和減少切換開銷。從而從進程中演變出來了線程。
2.線程:
線程是進程的執行單元。對於大多數程序來說可能只有一個主線程,就是該程序進程。在系統中看起來所有的線程都是同時執行的,實際上是去共同搶占資源,當一個線程使用完後,下一個馬上使用,減少了時間的空隙。和進程搶占時間片大致相同。但是依舊提高了很多的效率。
實例:下載文件時,可以將文件分成多個部分,然後使用多個線程同時去下載,從而加快下載速度。
3.進程線程的對比:
python---基礎知識回顧(十)進程和線程
相關推薦
python---基礎知識回顧(十)進程和線程
進程搶占 有一個 信息 lin linux 下一個 最小 網絡 方式 前戲:進程和線程的概念 若是學過linux下的進程,線程,信號...會有更加深刻的了解。所以推薦去學習下,包括網絡編程都可以去了解,尤其是對select,pool,epool都會有更多的認識。 進程就是資
python---基礎知識回顧(十)進程和線程(自定義線程池,上下文管理器和協程的使用)
elf () self. 數據類型 大小 get 基礎數據類型 __init__ 進行 前戲: 在進行自定義線程池前,先了解下Queue隊列 隊列中可以存放基礎數據類型,也可以存放類,對象等特殊數據類型 from queue import Queue class T:
python---基礎知識回顧(四)(模塊sys,os,random,hashlib,re,json,xml,shutil,configparser,logging,datetime,time,集合,堆,雙端隊列,其他)
ID 正常 空值 字符 預測 platform OS normal 生成 前提:dir,__all__,help,__doc__,__file__ dir:可以用來查看模塊中的所有特性(函數,類,變量等) >>> import copy >>
python---基礎知識回顧(七)叠代器和生成器
num list() 包括 實現 trac == 強烈 nbsp 數列 前戲:叠代器和生成器 叠代: 如果給定一個list或tuple,我們可以通過for循環來遍歷這個list或tuple,這種遍歷我們稱為叠代(Iteration)。 Python的for循環不僅可以
python---基礎知識回顧(九)圖形用戶界面
oot exit root gty 有用 有變 src string tee 主要使用wxPython(最成熟的跨平臺python GUI工具包) 前戲:老牌python GUI程序(Tkinter) import tkinter.messagebox as messag
python---基礎知識回顧(其他)
its 入棧 eve license amd bsp python3.5 help none 一:語句中的入棧順序 同其他語言(C,C++等)一樣入棧順序是右端先進行執行後入棧(python3.5中),在python2.7之前的入棧順序是左端先 Python2.7: Py
python---基礎知識回顧(九)圖形用戶界面-------WxPythin
hot drop bin frame 自己 圖片 opened 事件驅動 平臺 主要使用wxPython(最成熟的跨平臺python GUI工具包) wxPython手冊 前戲:基礎了解 import wx class MyFrame(wx.Frame):
Python基礎知識回顧(也可以說有點小技巧性的東西)
交換變數 a,b=2,3 a,b=b+1,a print(a,b) 結果如下: 4 2 字典推導和集合推導 some_list=[1,2,3,4,5,6] another_list=[i+1 for i in some_list] #列表的推導 print(another_
老男孩python基礎知識練習題(一)中
rem python () 計算 輸出 長度 end 2個 下列表 20、字符串是否可叠代?如可以請使用for循環每一個元素? >>> name = " aleX ">>> for i in name:... print(i) 2
python基礎知識總結(一)
字母 內容 查看 二進制 代碼 大寫字母 del 源碼 解決 一。python版本區別 宏觀上python2與python3的區別: python2:源碼不標準,混亂,重復的代碼太多,默認編碼方式是ascill碼。 python3:
python基礎知識總結(二)
優先 轉化 情況 顯示 判斷 指定 賦值運算 true 比較運算 基礎數據類型初始: int(數字):+ 加 - 減 * 乘 / 除 % 取余數 str(字符串):python中凡是用引號引起
面向物件(中)---Python基礎學習筆記(十)
一、單繼承 在程式中,繼承描述的是事物之間的所屬關係,例如貓和狗都屬於動物,程式中便可以描述為貓和狗繼承自動物。 #定義一個父類,如下: class Cat(object): def_in
Python基礎知識筆記(一)
一. CPU、記憶體、硬碟及作業系統之間的關係 1. CPU——中央處理器,運算中心與控制中心,相當於人的大腦。 2. 記憶體——暫時儲存資料,將應用程式載入到其中,以便與CPU進行資料傳輸互動。 3. 硬碟——即所謂的磁碟(如D盤,E盤),用於長期儲存資料。 &n
CCNA學習筆記 基礎知識回顧(6)
ip地址主機不能全為0或1 直連裝置需要配置相同網段才能進行通訊 網段——路(一段ip地址的集合) 子網掩碼中,連續的1表示網路位,0表示主機位,與ip相對應鎖定 10兆乙太網——ethernet 快速乙太網(百兆乙太網)fastethernrt 千兆乙太網 (吉位元)——gigabit
CCNA學習筆記 基礎知識回顧(5)
CCNA總結(簡) 一、 OSI參考模型 七層 應用層 抽象語言---->編碼 表示層 編碼---->二進位制 會話層 應用程式提供會話地址 類似:QQ號碼 *上三層就是應用程式對資訊程序加工處理,直到可以被傳輸(相當於OSI"工廠"生產貨物的車間);
CCNA學習筆記 基礎知識回顧(4)
OSI參考模型:國際標準化組織(ISO)在1979年建立了一個分委員會來專門研究一種用於開放系統互連的體系結構(Open Systems Interconnection),簡稱OSI。 “開放”這個詞表示:只要遵循OSI標準,一個系統可以和位於世界上任何地方的、也遵循OSI標準的其他
CCNA學習筆記 基礎知識回顧(3)
一、 OSI參考模型 七層 應用層 抽象語言---->編碼 表示層 編碼---->二進位制 會話層 應用程式提供會話地址 類似:QQ號碼 *上三層就是應用程式對資訊程序加工處理,直到可以被傳輸(相當於OSI"工廠"生產貨物的車間); 傳輸層 分
CCNA學習筆記 基礎知識回顧(2)
CCNA一些基本命令 //使用者模式 enable //進入特權模式的命令 # //特權模式 #show running-config //檢視配置檔案 #configure terminal //進入全域性配置模式的命令 (config)# //全域性配置模式 命令補全 T
CCNA學習筆記 基礎知識回顧(1)
OSI參考模型:國際標準化組織(ISO)在1979年建立了一個分委員會來專門研究一種用於開放系統互連的體系結構(Open Systems Interconnection),簡稱OSI。 “開放”這個詞表示:只要遵循OSI標準,一個系統可以和位於世界上任何地方的、也遵循OSI標準的其他
Python基礎知識筆記(四)
一. 元組(tuple) 元組——只讀列表,資料能被查詢,不能修改。字串的切片操作同樣適用於元組。 1 s = ("ada", "jalksdj", "alkjsd") 2 3 # 注意,元組內只有一個值時,必須加個英文符逗號,比如下面