SwooleServer는 이벤트 중심 모델이며 모든 비즈니스 로직 코드는 이벤트 콜백 함수에 작성되어야 합니다. 특정 네트워크 이벤트가 발생하면 하단 레이어는 지정된 PHP 함수를 적극적으로 콜백합니다. 총 13가지 종류의 이벤트가 지원됩니다. (추천 학습: swoole 동영상 튜토리얼)
이벤트 실행 순서
모든 이벤트 콜백은 $server->start
서버 종료 프로그램이 종료되는 마지막 이벤트는 onShutdown
서버가 성공적으로 시작된 후입니다. , onStart/onManagerStart/onWorkerStart는 다른 프로세스에서 동시에 실행됩니다
onReceive/onConnect/onClose는 Worker 프로세스에서 트리거됩니다.
onWorkerStart/onWorkerStop은 Worker/Task 프로세스가 시작/종료될 때 한 번 호출됩니다
onTask 이벤트는 작업에서
onFinish 이벤트는 작업자 프로세스에서만 발생합니다.
onStart/onManagerStart/onWorkerStart 세 이벤트의 실행 순서는 불확실합니다
코루틴 모드
Swoole2/4 버전은 코루틴을 지원합니다. 코루틴 사용 후 , 이벤트 콜백 함수가 동시에 실행됩니다. 코루틴은 추가적인 스케줄링 소비가 없고 메모리만 차지하는 사용자 모드 스레드 구현입니다.
코루틴 모드를 사용하는 것은 "각 이벤트 콜백 함수가 실행을 위해 새로운 스레드를 생성합니다. 이벤트 콜백 함수가 실행된 후 스레드가 종료됩니다."로 이해될 수 있습니다.
코루틴을 닫으려면 다음과 같이 설정할 수 있습니다.
$server->set(["enable_coroutine" => false, ]);
위 내용은 스울이벤트 이용방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!