php libevent是多线程的吗?

php libevent是多线程的吗?,php,multithreading,libevent,Php,Multithreading,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($co

我已经在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);
同时,我将其加载到两个不同的浏览器中,第一个浏览器会立即显示结果,第二个浏览器会在3秒或更长时间内显示结果 当地时间为2015年9月3日星期四21:17:11 当地时间为2015年9月3日星期四21:17:17

我认为libevent是多线程的。但我的例子表明并非如此。是这样吗?还是我的密码有误


谢谢

否。Libevent不是多线程的。它处理的每个php请求都是相互独立的,除非您使用的是基于文件的会话,在这种情况下,您被迫进入串行模式-first hit将锁定会话并阻止该用户的任何其他并行请求。但这不是php请求,而是对我的服务器$server=stream\u socket的请求_servertcp://0.0.0.0:33333,$errno,$errstr,因此没有会话