이 기사에서는 퀘이사를 기반으로 코루틴 풀 구현과 관련된 문제를 주로 분류하는 java에 대한 관련 지식을 제공합니다. 스레드는 여러 코루틴을 가질 수 있으며 프로세스는 독립적으로 여러 코루틴을 가질 수도 있습니다. , 코루틴은 비동기식이지만 모두에게 도움이 되기를 바랍니다.
추천 연구: "java 비디오 튜토리얼"
비즈니스 시나리오: golang과 swoole 모두 동일한 수의 동시 작업으로 코루틴이 스레드보다 몇 배 더 많을 수 있습니다. 그래서 최근 Java에 쿼리를 하다가 Java 자체에는 코루틴이 없지만, 어떤 소가 스스로 코루틴을 구현했다는 것을 알게 되었는데, 바로 이 글의 주인공인 퀘이사(파이버 프로세스)! 하지만 손으로 쓴 코루틴 풀의 멋진 동작을 공개하는 사람은 본 적이 없습니다. (누가 직접 사용하겠습니까? 사회에서 크게 구타당하지 않았다는 뜻이죠~)
스레드는 여러 개의 코루틴을 가질 수 있고, 프로세스는 또한 여러 개를 가질 수 있습니다. 여러 개의 코루틴을 소유합니다.
스레드 프로세스는 모두 동기식 메커니즘인 반면 코루틴은 비동기식입니다.
코루틴은 마지막 호출 상태를 유지할 수 있습니다. 프로세스가 다시 들어갈 때마다 마지막 호출 상태로 들어가는 것과 같습니다.
스레드는 선점형이지만 코루틴은 비선점형이므로 사용자가 다른 코루틴으로 전환하려면 사용 권한을 해제해야 합니다. 따라서 실제로는 하나의 코루틴만 동시에 실행할 수 있는 권한을 가집니다. 단일 스레드.
코루틴은 스레드를 대체하지 않지만 스레드는 분할된 CPU 리소스입니다. 코루틴은 호스트하고 실행하기 위해 스레드가 필요합니다. 스레드는 스레드를 직접 사용하지 않습니다. 코루틴은 실행기(인터셉터)를 직접 사용합니다. 실행기는 모든 스레드 또는 스레드 풀과 연결될 수 있으며 현재 스레드, UI 스레드 또는 새 프로세스를 생성할 수 있습니다.
스레드는 코루틴의 리소스입니다. 코루틴은 인터셉터를 통해 간접적으로 스레드 리소스를 사용합니다. ㅋㅋㅋ 또한 스레드 풀 쓰기를 사용하여 구현했습니다.
현재 우리는 문제를 해결하기 위해 노력하고 있습니다. 코루틴 차단 프로세스 중에 Fiber 클래스는 보기에 혼란스럽고 짜증나는 차단 경고를 보고합니다. 당분간은 이를 처리할 수 있는 방법이 없습니다. 전문가 중 누구라도 아래 댓글에 아이디어가 있는지 살펴보겠습니다. 정말 감사합니다~
추천 학습: "java 비디오 튜토리얼"
위 내용은 예제 소개: Java는 퀘이사를 기반으로 코루틴 풀을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!