#greenlet模組# genev 模組#協程
#協程相對於執行緒與程序,協程可以控制,執行緒程序不受到人為的控制
##greenlet 可以控制協程的執行與暫停,greenlet不具備自動切換程序的能力
##gevent 當遇到阻塞,gevent會自動切換,使cpu利用率達到將近100%
##greenlet
#使用#gr1=greenlet(target) 建立協程
#gr2=greenlet(target,gr1) 建立gr2協程,執行過後切換到gr1執行緒
#gr1.switch() 手動切換到gr1協程的方法
#匯入greenlet協程模組
from greenlet import greenlet
def test1():
print("12")
#切換到gr2協程
gr2.switch()
print("34")
def test2():
print("56")
#切換到gr1協程
gr1.switch()
if __name__ == '__main__':
#建立協程
gr1 = greenlet(test1)
gr2 = greenlet(test2)
#從主線程切換到gr1協程
gr1.switch()
print("78")
#gevent 當遇到阻塞,gevent會自動切換,使cpu利用率達到將近100%
#gevent協程模組自動執行切換,減少了手動切換協程順序的麻煩
#使用#gevent.joinall([協程,協程1,協程2]) 將協程加入到協程列表
#gevent.spawn(target) 建立協程
#gevent.joinall([gevent.spawn(target1),gevent.spawn(target2)])# 結合一起
import gevent
def test1():
print(12)
print(34)
def test2():
print(56)
if __name__ == '__main__':
gevent.joinall([
gevent.spawn(test1),
gevent.spawn(test2)
])
python 學習筆記(二十一)
coding utf8 author liwei windows平台多程序匯入multiprocessing模組 from multiprocessing import process,queue from multiprocessing import pool import os,time,ran...
Python 二十一 LEGB規則
一 解釋 python在查詢 名稱 的時候,是按照legb規則查詢的,local enclosed global buitl in。local 指的是函式或者類方法的內部。enclosed 指的是巢狀函式 閉包 global 模組中的全域性變數。buitl in 指的是python為自己保留的特殊名...
python二十一 檔案操作
檔案處理流程 1.開啟檔案,得到檔案控制代碼並賦值給乙個變數 2.通過控制代碼對檔案進行操作 3.關閉檔案 r 檔案讀模式 f open undo r encoding utf 8 讀取檔案資料 data f.read print data 關閉檔案控制代碼 f.close 判斷檔案是否可讀 f.r...