>  기사  >  백엔드 개발  >  Python의 코루틴이란 무엇입니까? (예시분석)

Python의 코루틴이란 무엇입니까? (예시분석)

乌拉乌拉~
乌拉乌拉~원래의
2018-08-23 17:42:002015검색

다음 글에서는 파이썬의 코루틴이 무엇인지 알아보겠습니다. Pythoncoroutines에 대해 알아보고 Python 프로그래밍에서 코루틴이 어떤 역할을 할 수 있는지 알아보세요.

python 코루틴

스레드와 프로세스의 작업은 프로그램에 의해 시스템 인터페이스에 의해 트리거되며 최종 실행자는 시스템입니다. 코루틴의 작업은 프로그래머입니다.

코루틴 존재의 의미: 멀티 스레드 애플리케이션의 경우 CPU는 슬라이싱을 통해 스레드 간 실행을 전환하며 스레드를 전환하는 데 시간이 걸립니다(상태를 저장하고 다음에 계속). 코루틴은 하나의 스레드만 사용하여 하나의 스레드에서 특정 코드 블록의 실행 순서를 지정합니다.

코루틴에 적용 가능한 시나리오: CPU가 필요하지 않은 작업(IO)이 많은 경우 코루틴에 적합합니다.

이벤트 루프는 코루틴 실행을 위한 제어 지점입니다. 그들에게 사용해야합니다.

이벤트 루프는 다음 기능을 제공합니다.

지연된 호출의 등록, 실행, 취소(비동기 기능)

통신을 위한 클라이언트 및 서버 프로토콜(도구) 생성

다른 프로그램과의 하위 프로세스 및 통신 프로세스 생성 프로토콜( 도구)

함수 호출을 스레드 풀로 보냅니다.

아래 예를 들어 보겠습니다.

Coroutine 인스턴스

import asyncio

asyncdef cor1():
    print("COR1 start")
    await
    cor2()
    print("COR1 end")
    
asyncdef cor2():
    print("COR2")
    
loop = asyncio.get_event_loop()
loop.run_until_complete(cor1())
loop.close()

마지막 세 줄이 초점입니다.

asyncio.get_event_loop(): Asyncio는 기본 이벤트 루프를 시작합니다.

run_until_complete(): 이 함수는 모든 비동기 함수가 실행될 때까지 실행을 차단합니다.

close(): 이벤트 루프를 닫습니다.

위 내용은 이 글의 모든 내용입니다. 이 글은 주로 python 코루틴 관련 지식을 소개하는 내용입니다. 위 내용을 이해하는 데 참고하시기 바랍니다. 이 글에서 제가 설명한 내용이 여러분에게 도움이 되고 파이썬을 더 쉽게 배울 수 있기를 바랍니다.

더 많은 관련 지식을 알고 싶으시면 PHP 중국어 홈페이지의 Python tutorial 칼럼을 방문해 주세요.

위 내용은 Python의 코루틴이란 무엇입니까? (예시분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기