饿了,没有力气写代码了。马上五一来临。学一下多线程。pthread扩展的安装,就不说了。
<?php
$thread = new class extends Thread {
public function run() {
echo 'hello world'.PHP_EOL;
}
}
print_r(get_class_methods($thread));
该对象有如下方法。五一再研究研究。。
Array
(
[0] => run
[1] => start
[2] => join
[3] => isStarted
[4] => isJoined
[5] => getThreadId
[6] => getCreatorId
[7] => getCurrentThreadId
[8] => getCurrentThread
[9] => wait
[10] => notify
[11] => notifyOne
[12] => isRunning
[13] => isTerminated
[14] => synchronized
[15] => merge
[16] => shift
[17] => chunk
[18] => pop
[19] => count
[20] => isGarbage
[21] => addRef
[22] => delRef
[23] => getRefCount
[24] => extend
)
预定义常量
PTHREADS_INHERIT_ALL:1118481 // 线程的默认选项。线程开始的时候,pthreads 扩展会将环境复制到线程上下文中。
PTHREADS_INHERIT_NONE:0 //新线程开始时,不继承任何内容。
PTHREADS_INHERIT_INI:1 // 新线程开始时,仅继承 INI 配置。
PTHREADS_INHERIT_CONSTANTS:16 //新线程开始时,继承用户定义的常量。
PTHREADS_INHERIT_CLASSES:4096 //新线程开始时,继承用户定义的类。
PTHREADS_INHERIT_FUNCTIONS:256 //新线程开始时,继承用户定义的函数。
PTHREADS_INHERIT_INCLUDES:65536 //新线程开始时,继承包含文件。
PTHREADS_INHERIT_COMMENTS:1048576 //新线程开始时,继承所有的注释。
PTHREADS_ALLOW_HEADERS:268435456 //允许新线程向标准输出发送头信息(通常情况下是被禁止的)。