python 다 중 프로 세 스 multiprocessing 에 관 한 지식 정리
4905 단어 pythonmultiprocessing다 중 프로 세 스
콘 셉 트
다 중 프로 세 스 기본 프로 세 스 만 들 기
프로 세 스 대상 생 성
프로 세 스 회수 프로 세 스 시작
코드:
import multiprocessing as mp
from time import sleep
#
def fun():
print(" ")
sleep(3)
print(" ")
#
p = mp.Process(target = fun)
p.start() #
p.join() #
실행 결과:프로 세 스 시작
프로 세 스 종료
Process finished with exit code 0
1.부자 프로 세 스 는 병렬 실행 하 는 하위 프로 세 스 입 니 다.부모 프로 세 스 는 하위 프로 세 스 를 제외 한 내용 을 수행 합 니 다.
import multiprocessing as mp
from time import sleep
#
def fun():
print(" ")
sleep(3)
print(" ")
#
p = mp.Process(target = fun) # fun
p.start() #
sleep(2)
print(" ")
p.join() #
print("===============")
"""
pid = os.fork
if pid == 0
fun()
os._exit(0)
else:
os.wait()
"""
실행 결과:프로 세 스 시작
부모 프로 세 스 실행 내용
프로 세 스 종료
===============
2.하위 프로 세 스 는 부모 프로 세 스 의 변 수 를 바 꿀 수 없습니다.
코드:
import multiprocessing as mp
from time import sleep
a = 1
#
def fun():
print(" ")
sleep(3)
global a
print("a=", a)
a = 1000
print("a=", a)
print(" ")
#
p = mp.Process(target = fun) # fun
p.start() #
sleep(2)
print(" ")
p.join() #
print("===============")
print("a=", a)
실행 결과:프로 세 스 시작
부모 프로 세 스 실행 내용
a= 1
a= 1000
프로 세 스 종료
a= 1
여러 프로 세 스 만 들 기
코드:
"""
"""
from multiprocessing import Process
import os
from time import sleep
def fun1():
sleep(2)
print(os.getppid(), '--', os.getpid(), " ")
def fun2():
sleep(3)
print(os.getppid(), '--', os.getpid(), " ")
def fun3():
sleep(4)
print(os.getppid(), '--', os.getpid(), " ")
jobs =[]
for th in [fun1, fun2, fun3]:
p = Process(target = th)
jobs.append(p)
p.start()
for i in jobs:
i.join()
실행 결과:식사
46013 C 46023 잠
46013 C 46024 학습
매개 변 수 를 포함 하 는 프로 세 스 함수
코드:
from multiprocessing import Process
from time import sleep
#
def worker(sec, name):
for i in range(3):
sleep(sec)
print("I'm %s"%name)
print("I'm working...")
# p = Process(target = worker, args = (2, "Tom"))
p = Process(target = worker, kwargs = {'name':'tom', 'sec': 2})
p.start()
p.join()
실행 결과:I'm tom
I'm working…
I'm tom
I'm working…
I'm tom
I'm working…
사례 연습
코드:
from multiprocessing import Process
import os
filename = './dace.jpg'
size = os.path.getsize(filename)
#
def up():
fr = open(filename, 'rb')
fw = open('bot,jpg', 'wb')
n = size//2
fw.write(fr.read(n))
fw.close()
fr.close()
#
def down():
fr = open(filename, 'rb')
fw = open('bot,jpg', 'wb')
fr.seek(size//2.0)
fw.write(fr.read())
fw.close()
fr.close()
p = Process(target = up)
q = Process(target = down)
p.start()
q.start()
p.join()
q.join()
python 다 중 프로 세 스 multiprocessing 에 관 한 지식 을 정리 하 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 python multiprocessing 다 중 프로 세 스 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.