
SwooleServer::protect 옵션은 스레드 보호를 활성화/비활성화하는 방법을 알려드릴 수 있습니다.
1. 기본적으로 스레드 보호가 비활성화 상태입니다.
2. 스레드 보호를 활성화하려면, SwooleServer::protect 옵션을 true로 설정하면 됩니다.
3. 스레드 보호를 비활성화하려면, SwooleServer::protect 옵션을 false로 설정하면 됩니다.
스레드 보호를 활성화 한 후에, 스레드가 죽으면, 스레드가 죽은 후에 스레드 보호가 자동으로 비활성화됩니다.
스레드 보호를 활성화 한 후에, 스레드가 죽은 경우에 대한 예제 코드는 다음과 같습니다.
#hostingforum.kr
php
use SwooleServer;
$server = new Server("127.0.0.1", 9501, SWOOLE_BASE);
$server->set([
'worker_num' => 4,
'protect' => true,
]);
$server->on('WorkerStart', function ($server, $worker_id) {
echo "Worker $worker_id started.n";
});
$server->on('WorkerError', function ($server, $worker_id, $worker_pid, $exit_code) {
echo "Worker $worker_id ($worker_pid) exited with code $exit_code.n";
});
$server->on('WorkerStop', function ($server, $worker_id) {
echo "Worker $worker_id stopped.n";
});
$server->on('WorkerExit', function ($server, $worker_id) {
echo "Worker $worker_id exited.n";
});
$server->start();
스레드 보호를 비활성화 한 후에, 스레드가 죽은 경우에 대한 예제 코드는 다음과 같습니다.
#hostingforum.kr
php
use SwooleServer;
$server = new Server("127.0.0.1", 9501, SWOOLE_BASE);
$server->set([
'worker_num' => 4,
'protect' => false,
]);
$server->on('WorkerStart', function ($server, $worker_id) {
echo "Worker $worker_id started.n";
});
$server->on('WorkerError', function ($server, $worker_id, $worker_pid, $exit_code) {
echo "Worker $worker_id ($worker_pid) exited with code $exit_code.n";
});
$server->on('WorkerStop', function ($server, $worker_id) {
echo "Worker $worker_id stopped.n";
});
$server->on('WorkerExit', function ($server, $worker_id) {
echo "Worker $worker_id exited.n";
});
$server->start();
2025-07-26 19:39