併發程式設計之守護程序 互斥鎖以及佇列等相關內容 37

2022-06-09 07:27:10 字數 1465 閱讀 2471

···建立程序的兩種方式

​····第一種

from multiprocessing import process

import time​​

def task(n):

print('我是子程序')

time.sleep(n)

print('子程序結束')​​

if __name__ == '__main__':

# args=(), kwargs={}

# t=process(task,args=(1,))

t = process(target=task, kwargs=)

t.start()  # 通知作業系統,開啟程序,執行task函式

print('主')

​····第二種:

from multiprocessing import process

import time

​class task(process):

def __init__(self, n):

super().__init__()

self.n = n

​def run(self):

print('我是子程序')

time.sleep(self.n)

print('子程序結束')​​

if __name__ == '__main__':

t = task(1)

# t.run(1) # 不是呼叫t.run(),而是呼叫t.start()

t.start()

print('主')​​

···join的使用

from multiprocessing import process

import time​​

def task(n):

print('我是子程序')

time.sleep(n)

print('子程序結束')​​

if __name__ == '__main__':

ctime = time.time()

t = process(target=task, kwargs=)

t2 = process(target=task, kwargs=)

t.start()

t2.start()

t.join()  # 等待t子程序執行完成

t2.join()  # 等待t2子程序執行完成

print('主')

ctime2 = time.time()

print(ctime2 - ctime)​​

···程序之間資料隔離

from multiprocessing import process

import time

​age = 18​​

def task(n):

global age  # 區域性修改全域性

age =

併發程式設計之 守護程序

一,守護程序 守護程序其實就是乙個 子程序 守護 伴隨 守護程序會伴隨主程序的 執行完畢後而死掉。二,為何用守護程序?關鍵字就兩個 程序 當父程序需要將乙個任務併發出去執行,需要將該任務放到乙個子程序裡。守護 當該子程序內的 在父程序 執行完畢後就沒有任何存在的意義了,就應該將該子程序設定為 守護程...

python之路 併發程式設計之程序 互斥鎖

互斥鎖 將多個任務對修改共享資料的操作由併發變為 序列 沒有互斥鎖的情況下 json檔案 執行檔案 import os import time import json import random from multiprocessing import process def check with o...

Go併發程式設計之美之互斥鎖

一 前言 go語言類似j a juc包也提供了一些列用於多執行緒之間進行同步的措施,比如低階的同步措施有 鎖 cas 原子變數操作類。相比j a來說go提供了獨特的基於通道的同步措施。本節我們先來看看go中互斥鎖 二 互斥鎖 互斥鎖是獨佔鎖,同時只有乙個執行緒可以獲取該鎖,其他執行緒則會被阻塞掛起,...