찾다

 >  Q&A  >  본문

php - 코루틴이 무엇인가요? 적용 시나리오는 무엇입니까?

코루틴을 이해하는 방법과 그 적용 시나리오는 무엇입니까?
Brother Niao의 몇 가지 예를 살펴보면 yield가 함수에 사용될 때 중단점이 다음과 같이 된다는 것을 알 수 있습니다. 다음에 이 기능을 사용하면 이 중단 지점부터 실행이 시작되는데, 제가 이해한 것이 맞는지 모르겠습니다. . 적용 시나리오가 어떤지 모르겠습니다

给我你的怀抱给我你的怀抱2780일 전789

모든 응답(2)나는 대답할 것이다

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:12:47

    프로세스, 스레드 및 코루틴 이해

    회신하다
    0
  • 黄舟

    黄舟2017-05-16 13:12:47

    코루틴에 관해 가장 많이 읽을 수 있는 것은 "코루틴은 사용자 모드 스레드입니다"라는 문장입니다.

    "사용자 모드 스레드"가 무엇인지 이해하려면 먼저 "커널 모드 스레드"가 무엇인지 이해해야 합니다. 커널 상태 스레드는 운영 체제에 의해 예약됩니다. 스레드 컨텍스트를 전환할 때는 먼저 이전 스레드의 컨텍스트를 저장한 후 다음 스레드를 실행해야 합니다. 조건이 충족되면 이전 스레드로 다시 전환하고 컨텍스트를 복원합니다. 사용자 모드 스레드가 운영 체제에 의해 예약되지 않고 프로그래머에 의해 사용자 모드에서 예약된다는 점을 제외하면 코루틴의 경우에도 마찬가지입니다.

    yield这个关键字就是用来产生中断, 并保存当前的上下文的, 比如说程序的一段代码是访问远程服务器,那这个时候CPU就是空闲的,就用yield让出CPU,接着执行下一段的代码,如果下一段代码还是访问除CPU以外的其它资源,还可以调用yieldCPU를 계속 실행하여 비동기 코드를 동기 방식으로 작성할 수 있습니다.

    회신하다
    0
  • 취소회신하다