class test extends Thread {

    public $arg;
public function __construct($arg){
$this->arg = $arg;
} public function run(){
if($this->arg){
sleep(1);
echo "Hello " . $this->arg .':'. date("Y-m-d H:i:s") . "<br>";
sleep(1);
// file_put_contents("./log.txt", date("Y-m-d H:i:s") . "I Am SonPthread" . "\r\n", FILE_APPEND);
}
}
} $thread = new test("World");
echo "Start Pthread:" . date("Y-m-d H:i:s") . "<br>";
sleep(1);
$thread->start();
/*
* Hello World:2017-07-20 11:22:29
* Start Pthread:2017-07-20 11:22:27
* main thread:2017-07-20 11:22:28
*/ if($thread->start()){
$thread->join();
}
/*
* Hello World:2017-07-20 11:23:23
* Start Pthread:2017-07-20 11:23:21
* main thread:2017-07-20 11:23:24
*/ echo "main thread:".date("Y-m-d H:i:s") . "<br>";;
file_put_contents("./main.txt", date("Y-m-d H:i:s") . ":Main Thread!" . "\r\n", FILE_APPEND);
echo "<br>";

join方法的作用是让当前主线程等待该线程执行完毕
确认被join的线程执行结束,和线程执行顺序没关系。
也就是当主线程需要子线程的处理结果,主线程需要等待子线程执行完毕
拿到子线程的结果,然后处理后续代码。

官方文档链接地址:http://www.php.net/manual/en/book.pthreads.php

PHP pthread多线程的更多相关文章

  1. pthread多线程编程的学习小结

    pthread多线程编程的学习小结  pthread 同步3种方法: 1 mutex 2 条件变量 3 读写锁:支持多个线程同时读,或者一个线程写     程序员必上的开发者服务平台 —— DevSt ...

  2. VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程 转载

    VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程     转载 #include <stdio.h>#include &l ...

  3. C语言使用pthread多线程编程(windows系统)二

    我们进行多线程编程,可以有多种选择,可以使用WindowsAPI,如果你在使用GTK,也可以使用GTK实现了的线程库,如果你想让你的程序有更多的移植性你最好是选择POSIX中的Pthread函数库,我 ...

  4. clone的fork与pthread_create创建线程有何不同&pthread多线程编程的学习小结(转)

    进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合,这些资源在Linux中被抽 象成各种数据对象:进程控制块.虚存空间.文件系统,文件I/O.信号处理函数.所以创建一个进程的 过程就是这 ...

  5. NDK中使用pthread多线程中自己写的一个BUG

    在使用pthread进行NDK中的多线程开发时,自己写了一个BUG, void *darkGrayThread(void *args) { ThreadParam *param = (ThreadPa ...

  6. php Pthread 多线程基本介绍

    我们可以通过安装Pthread扩展来让PHP支持多线程.   线程,有时称为轻量级进程,是程序执行的最小单元.线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,它与同属 ...

  7. php Pthread 多线程 (一) 基本介绍

    我们可以通过安装Pthread扩展来让PHP支持多线程.   线程,有时称为轻量级进程,是程序执行的最小单元.线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,它与同属 ...

  8. pthread 多线程基础

    本文主要介绍如何通过 pthread 库进行多线程编程,并通过以下例子进行说明. 基于莱布尼兹级数计算 \(\pi\) . 多线程归并排序 参考文章: [1] https://computing.ll ...

  9. php Pthread 多线程 Worker

    <?php //PHP 高级编程之多线程 http://www.netkiller.cn/journal/thread.php.html#idp57489856 //worker 是一个具有持久 ...

  10. codeblocks编译pthread多线程问题

    默认的编译选项是没有pthread的,所以要自己添加: 参考:http://hi.baidu.com/u_soa/item/9d6cc40b7e9d76eb3499024d 错误: undefined ...

随机推荐

  1. ES6——字符串

    1.多了两个方法       1)startsWith       2)endsWith 2.模板字符串(`..`)—— 方便字符串连接   `反单引号        1)可以直接把表达式塞进去 &a ...

  2. JavaScript—创建正则对象

    创建正则对象 方式1: var reg = new RegExp('\d', 'i');var reg = new RegExp('\d', 'gi'); 方式2: var reg = /\d/i;v ...

  3. JS中的reduce函数

    海纳百川,有容乃大 定义: reduce()方法接受一个函数作为累加器,数组中的每个值(从左向右)开始缩减,最终计算为一个值.对空数组是不会执行回调函数的. 案例: 计算数组总和: var num = ...

  4. shell本地变量和环境变量的对比

  5. 02.Linux-CentOS系统NFS挂载时拒绝访问挂载问题

    问题: 在挂载nfs时报拒绝访问挂载:mount -t nfs 192.163.1.10:/home/opneuser/upload /home/openuser/upload/ 报错信息:Mount ...

  6. 自己关于SSM框架的搭建

    第一步 导入相应的包 spring springmvc 需要的包 spring-webmvc spring-aop spring-beans apring-context spring-core sp ...

  7. MySQL执行外部sql脚本文件命令报错:unknown command '\'

    由于编码不一致导致的 虽然大部分导出是没有问题的 但是数据表中存储包含一些脚本(富文本内容)会出现该问题,强制指定编码即可解决. mysql导入时指定编码: mysql -u root -p --de ...

  8. [Luogu2170]选学霸

    这一道题,由于他说,"如果实力相当的人中,一部分被选上,另一部分没有,同学们就会抗议."而要求"既不让同学们抗议,又与原来的M尽可能接近".因此,我们要对实力相 ...

  9. PowerDesigner 小技巧

    PowerDesigner 重现快捷工具栏 palette :Tools -->customsize toolbars-->palette(调色板)勾选 如何在PDM中列表显示TABLE的 ...

  10. Redis中的GETBIT和SETBIT

    来自:https://www.cnblogs.com/K-artorias/p/8463286.html Redis是in-memery的数据库,其优势不言而喻. 在学习到strings类型的常见命令 ...