>  기사  >  PHP 프레임워크  >  Swoole의 작업은 스레드인가요 아니면 프로세스인가요?

Swoole의 작업은 스레드인가요 아니면 프로세스인가요?

(*-*)浩
(*-*)浩원래의
2019-12-06 13:28:542304검색

Swoole의 작업은 스레드인가요 아니면 프로세스인가요?

Swoole에는 마스터 프로세스와 관리자 관리 프로세스라는 두 가지 주요 프로세스가 있다는 것을 알고 있습니다. >                          (추천 학습: swoole 비디오 튜토리얼 )

마스터 메인 프로세스에는 메인 리액터 스레드와 여러 개의 리액터 스레드가 있을 것입니다. 주요 기능은 TCP 연결을 유지하고, 네트워크 IO를 처리하고, 데이터를 보내고 받는 것입니다.

관리자는 프로세스를 관리하며 그 역할은 작업자 및 작업 프로세스를 포크하고 관리하는 것입니다.

작업자 프로세스의 기능은 리액터 스레드가 전달한 데이터를 받아 데이터를 처리하고 처리 결과를 리액터 스레드로 반환하는 것입니다.

작업 프로세스의 역할은 상대적으로 시간이 많이 걸리는 작업을 처리하는 것입니다. 작업 프로세스는 작업자 프로세스와 독립적이며 작업자 프로세스의 클라이언트 요청 처리에 영향을 미치지 않습니다.

1. 작업 프로세스의 적용 시나리오:

1. 1백만 명의 사용자에게 이벤트 이메일을 보내야 하는 특정 이벤트와 같이 상대적으로 시간이 많이 걸리는 대량 메일 발송.

2. 특정 빅 V의 업데이트를 푸시하세요. 예를 들어 빅 V가 새 메시지를 게시하면 팬들은 제때에 업데이트를 받아야 합니다.

2. 작업자와 작업의 관계:

1. 작업자 프로세스는 task()를 호출하여 작업을 전달할 수 있으며, 작업 프로세스는 onTask 이벤트를 통해 전달된 작업에 응답합니다.

2. 작업 프로세스에서는 직접 반환하거나 Finish()를 호출하여 작업이 완료되었음을 작업자 프로세스에 알릴 수 있습니다.

3. 작업 사용을 위한 전제 조건:

1. 서버에서 task_worker_num 수를 구성합니다.

2. 서버의 onTask 및 onFinish 이벤트 콜백 기능을 설정합니다.

위 내용은 Swoole의 작업은 스레드인가요 아니면 프로세스인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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