многопоточность — php libevent является многопоточным?

Я написал простой сервер на php и libevent.

<?php
function process($fd, $events, $arg) {
$conn = stream_socket_accept($fd);
//stream_set_blocking($conn, 0);

$read = fread($conn, 4096);

echo "new connection " . (string)$conn . "\n";

fwrite($conn, "The local time is " . date('r') . "\n");
fclose($conn);

sleep(3);
}

$server = stream_socket_server("tcp://0.0.0.0:33333", $errno, $errstr);
stream_set_blocking($server, 0);

$base = event_base_new();
$event = event_new();
event_set($event, $server, EV_READ | EV_PERSIST, "process");
event_base_set($event, $base);
event_add($event);
event_base_loop($base);

При этом загружаю его в 2 разных браузера Http: // ххх: 33333 /, в первом результат появляется сразу, во втором через 3 и более секунд
1 — местное время — чт, 03 сен 2015 21:17:11
2 — Местное время Четверг, 03 сентября 2015 21:17:17

Я думал, что libevent многопоточный. Но мой пример показывает, что нет. Это так? Или у меня ошибка в коде?

Спасибо

0

Решение

Нет. Libevent не является многопоточным. Это обрабатывает одно событие за раз.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]