写个页面输出phpinfo 然后ctrl+f,找到thread safe,后面是enable的,就是Thread Safe
版,disable的,就是not Thread Safe
php通过扩展pthreads也可以支持线程上的操作,在mac下可以通过brew安装pthreads扩展.线程类要继承Thread类,而后实现run方法.
class?computer?extends?Thread?{
public?$id;
public?$runing?=?false;
public?$params?=?null;
public?function?__construct($id)?{
$this-id??=?$id;
$this-runing?=?true;
}
public?function?run()?{
while?($this-runing)?{
if?(is_null($this-params))?{
echo?"线程({$this-id})等待任务...\n";
}?else?{
echo?"线程({$this-id})?收到任务参数::{$this-params}.\n";
$this-params?=?null;
sleep(1);
不建议在PHP-FPM里使用多线程,写不好会导致工作进程频繁崩溃.使用PHP就应该转变思路,不要照搬Java那一套.异步处理耗时任务也不一定要使用多线程.你完全可以在PHP中用 pclose(popen('/path/to/task.php ', 'r')); 异步打开一个进程处理耗时的任务,PHP-FPM则返回信息给浏览器提示"正在处理",task.php这个cli脚本处理完成任务后,把数据库当前任务的状态标记为"完成",前端AJAX定时轮询到这个任务为"完成",则提示用户即可.
如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率. 个人感觉这个很不靠谱 我现在用的ts版本的php
以上就是土嘎嘎小编为大家整理的php选择thread相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!