Python 스레드 풀 ThreadPoolExecutor에 단일 매개변수와 다중 매개변수를 전달하는 방법

王林
풀어 주다: 2023-04-19 19:22:04
앞으로
2514명이 탐색했습니다.

    Python 스레드 풀 ThreadPoolExecutor, 단일 매개변수와 다중 매개변수 전달

    이것은 단일 매개변수를 전달하는 스레드 풀입니다

    from concurrent.futures import ThreadPoolExecutor,as_completed
    def test(a):
            print(a)
    
    qq = {"a":"1","b":"2","c":"3"}
    with ThreadPoolExecutor() as pool:
        for j ,k in qq.items():
            res = pool.submit(test,j)
            kk = res.result()
    로그인 후 복사

    다음은 다중 매개변수를 전달하는 것입니다

    from concurrent.futures import ThreadPoolExecutor,as_completed
    def test(a,b):
            print(a,b)
    
    qq = {"a":"1","b":"2","c":"3"}
    with ThreadPoolExecutor() as pool:
        for j ,k in qq.items():
            res = pool.submit(lambda cxp:test(*cxp),(j ,k))
            last= res.result())
    로그인 후 복사

    가장 중요한 것은 pool.submit(lambda cxp: test (*cxp), (j ,k))

    이 코드 줄을 분리하여 살펴봐야 합니다

    첫 번째는 익명 함수입니다:lambda cxp:test(*cxp) 이것이 첫 번째 단계입니다

    즉, cxp 매개변수를 테스트에 전달

    두 번째 단계는 submit(lambda cxp:test(cxp),(j,k))

    sumbit 메서드에서 두 개의 매개변수를 전달해야 하며, 첫 번째는 함수입니다. 두 번째는 이 함수의 매개변수입니다

    지금은 익명 함수가 첫 번째 매개변수이고 그 다음으로 (j,k)가 두 번째 매개변수이므로 이 매개변수는 함수에 전달됩니다. 주어진 cxp

    python 스레드 풀은 여러 매개변수를 전달합니다. ThreadPoolExecutor.submit 다중 매개변수 지원

    from concurrent.futures import ThreadPoolExecutor,as_completed
      
    def doFileParse(filepath,segment,wordslist):
          print(filepath)
          print(segment)
      
    #调用方法
    #实质就是通过lambda表达式过渡。传入的参数是一个,但是通过lambda表达多后拆散为多个传入。这是很巧妙的方法,实际 就是 *p 这个表达式。
    args =[filepath,thu1,Words]
     
    newTask=executor.submit(lambda p: doFileParse(*p),args)
    로그인 후 복사

    위 내용은 Python 스레드 풀 ThreadPoolExecutor에 단일 매개변수와 다중 매개변수를 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:yisu.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿