from multiprocessing import process
process = process(target=函式,name=程序的名字,args=(給函式傳遞的引數))
process.start() 啟動程序並執行任務
process.run() 只是執行了任務但是沒有啟動程序
process.terminate() 終止程序
import threading
from multiprocessing import process
from multiprocessing.pool import pool
from multiprocessing.queues import queue
from threading import thread, lock
from time import sleep
def task1(s):
while true:
print('這是任務1')
sleep(s)
def task2(s):
while true:
print('這是任務2')
sleep(s)
if __name__ == '__main__':
p1 = process(target=task1, args=(1,))
p1.start()
p2 = process(target=task2, args=(2,))
p2.start()
# 程序,執行緒
# process類
# 建立程序
def func(n):
pass
p = process(target=func, name='', args=(), kwargs='')
p.start()
# 自定義程序
class myprocess(process):
def run(self):
pass
p = myprocess()
p.start()
# 程序資料共享:
n = 0
# 程序池:pool
p = pool(5)
# 程序間通訊
q = queue(4)
q.put() # 放資料
q.get() # 取資料
q.qsize() # 獲取佇列中的資料個數
q.empty() # 判斷佇列是否為空
q.full() # 判斷佇列是否已經滿了
# 執行緒
t = thread(target=func, name='', args=(), kwargs='')
t.start()
# gil:全域性直譯器鎖
# python中的執行緒是偽執行緒
# 執行緒同步
lock = lock()
list1 = [0] * 10
def task1():
# 獲取執行緒鎖,如果已經上鎖了,則等待鎖的釋放
lock.acquire() # 請求鎖
for i in range(len(list1)):
list1[i] = 1
sleep(0.5)
lock.release() # 釋放鎖
def task2():
lock.acquire()
for i in range(len(list1)):
print('---->', list1[i])
sleep(0.5)
lock.release()
if __name__ == '__main__':
t1 = threading.thread(target=task1)
t2 = threading.thread(target=task2)
t2.start()
t1.start()
t2.join()
t1.join()
print(list1)
python程序和執行緒 Python中的程序和執行緒
程序和執行緒 我們開啟我們的計算機就會看到程序和執行緒 那什麼是程序什麼是執行緒 我的理解是程序是指在系統中正在執行的乙個應用程式 程式一旦執行就是程序,或者更專業化來說 程序是指程式執行時的乙個例項。執行緒是程序的乙個實體。程序 資源分配的最小單位,執行緒 程式執行的最小單位。我舉個例子,比如開啟...
Python 執行緒和程序
一 什麼是執行緒 1 執行緒是作業系統能夠進行運算排程的最小單位。它被包含在程序中,是程序中的實際運作單位。一條執行緒指的是程序中乙個單一順序的控制流,乙個程序中可以併發多個執行緒,每條執行緒並行執行不同的任務。每個程序至少包含乙個執行緒.二 什麼是程序 1 乙個程序就是乙個程式的例項,每個程序裡面...
python執行緒和程序
執行緒 計算機能夠進行排程的最小單位 乙個程序可以包含多個執行緒,執行緒共享程序資源 多執行緒併發 上下文程序就像乙個工作的房間 記憶體 以及房間裡工作需要的資源 i o啊,網絡卡啊 執行緒相當於工作的人 所有的在同乙個程序中的執行緒是共享一塊記憶體空間 pid 唯一的程序識別符號 each pro...