다음 글에서는 파이썬에서 프로세스 풀이 무엇인지 알아보겠습니다. Python 프로세스 풀에 대해 알아보고 Python 프로그래밍에서 프로세스 풀이 어떤 역할을 할 수 있는지 알아보세요.
Process Pool
Pool 클래스는 작업자 프로세스 풀을 설명하며 작업에 대해 작업자 프로세스를 오프로드하는 여러 가지 방법이 있습니다.
프로세스 풀은 내부적으로 프로세스 순서를 유지합니다. 프로세스 풀 순서에 사용 가능한 프로세스가 없으면 프로그램은 프로세스 풀로 이동합니다. 풀에 사용 가능한 프로세스가 있을 때까지.
Pool 클래스를 사용하여 프로세스 풀을 만들고 제출된 작업을 프로세스 풀로 확장할 수 있습니다.
예를 들어 보겠습니다.
#apply from multiprocessing import Pool import time def f1(i): time.sleep(0.5) print(i) return i + 100 if __name__ == "__main__": pool = Pool(5) for i in range(1,31): pool.apply(func=f1,args=(i,)) #apply_async def f1(i): time.sleep(0.5) print(i) return i + 100 def f2(arg): print(arg) if __name__ == "__main__": pool = Pool(5) for i in range(1,31): pool.apply_async(func=f1,args=(i,),callback=f2) pool.close() pool.join()
프로세스 풀 개체는 제출할 수 있는 작업자 프로세스 풀의 작업을 제어할 수 있으며 시간 초과 및 콜백의 비동기 결과를 지원합니다. a 지도 구현과 유사합니다.
processes: 사용된 작업자 프로세스 수입니다. 프로세스가 None이면 os.cpu_count()에서 반환된 숫자를 사용합니다.
initializer: 초기화 프로그램이 None이면 각 작업자 프로세스는 처음에 초기화 프로그램(*initargs)을 호출합니다.
maxtasksperchild: 작업자 프로세스가 종료되기 전에 완료할 수 있는 작업 수. 완료 후에는 유휴 리소스를 해제하기 위해 원래 프로세스를 대체하는 데 새 작업자 프로세스가 사용됩니다. maxtasksperchild의 기본값은 None입니다. 이는 풀이 존재하는 한 작업자 프로세스가 유지됨을 의미합니다.
context: 작업자 프로세스가 시작될 때 컨텍스트를 설정하는 데 사용됩니다. 일반적으로 컨텍스트 개체의 multiprocessing.Pool() 또는 Pool() 메서드는 모두 컨텍스트를 설정하는 데 사용됩니다.
참고: Pool 개체의 메서드는 풀을 생성한 프로세스에서만 호출할 수 있습니다.
위 내용은 이 글의 전부입니다. 이 글은 파이썬 프로세스 풀 관련 지식을 주로 소개하고 있으니 참고하시기 바랍니다. 콘텐츠. 이 글에서 제가 설명한 내용이 여러분에게 도움이 되고 파이썬을 더 쉽게 배울 수 있기를 바랍니다.
더 많은 관련 지식을 보려면 PHP 중국어 웹사이트Python 튜토리얼 컬럼을 방문하세요.
위 내용은 Python 프로세스 풀 기능 표시 및 예제 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!