簡要說明 python3中的程序 執行緒 協程

2021-09-20 05:44:22 字數 1390 閱讀 6587

多工可以充分利用系統資源,極大提公升程式執行效率,多工的實現往往與 多執行緒,多程序,多協程有關

多工可以充分利用系統資源,極大提公升程式執行效率,多工的實現往往與 多執行緒,多程序,多協程有關

使用3重巢狀建立2程序4執行緒8協程

import os

import time

from multiprocessing import process

from threading import thread

import gevent

from gevent import monkey

monkey.patch_all()

# 建立兩個程序,每個執行緒兩個執行緒,每個執行緒兩個協程

def print_gevent_info(t_info ,g_info):

print("在協程執行的函式中,所屬的程序號為%d,執行緒的名稱為%s,協程的名稱為%s"%(os.getpid(),t_info ,g_info))

time.sleep(0.5)

def print_thread_info(t_info):

gevent.joinall([gevent.spawn(print_gevent_info, t_info,"g1"), gevent.spawn(print_gevent_info, t_info, "g2")])

time.sleep(2)

def creat_two_thread():

t1 = thread(target=print_thread_info, args=("t1",))

t2 = thread(target=print_thread_info, args=("t2",))

t1.start()

t2.start()

def print_process_info(p_info):

# 建立執行緒

creat_two_thread()

print("在程序執行的函式中,程序的名稱為%s程序號為%s"%(p_info,os.getpid()))

time.sleep(5)

pass

def main():

#建立兩個程序

p1 = process(target=print_process_info, args=("p1",))

p2 = process(target=print_process_info, args=("p2",))

# 開啟兩個程序

p1.start()

p2.start()

if __name__ == "__main__":

main()

python 作用域的簡要說明

同事,問起我為什麼class 下的變數在外部也可以呼叫,我一時摸不著頭腦,只能用最口語化的方式解釋。但是看上去他並不是很理解。發現我自己也沒有認真研讀python 的作用域,只是知道它就該這麼用,一副should be so 的樣子。好吧,讓我們揭開他的面紗。python 中沒有塊級作用域 for ...

快取的簡要說明

這幾天看了快取的知識,感覺沒什麼頭緒,不過還是整理了大概的學習思路,希望能幫助到大家。後續會出詳細的講解 一 什麼是快取1 cache 是高速緩衝儲存器 一種特殊的儲存器子系統,其中複製了頻繁使用的資料以利於快速訪問 2 凡是位於速度相差較大的兩種硬體 軟體之間的,用於協調兩者資料傳輸速度差異的結構...

sprintf函式的簡要說明

關於sprintf函式的描述是 sprintf指的是字串格式化命令,主要功能是把格式化的資料寫入某個字串中。sprintf 是個 變參函式。使用sprintf 對於寫入buffer的字元數是沒有限制的,這就存在了buffer溢位的可能性。標頭檔案是stdio.h。函式原型 int sprintf c...