zoukankan      html  css  js  c++  java
  • PHP pthread多线程

    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" . "
    ", 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!" . "
    ", FILE_APPEND);
    echo "<br>";
    

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


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

  • 相关阅读:
    [HNOI2002]营业额统计 (Splay)
    [POJ1664] 放苹果 (动态规划,组合数学)
    [AHOI2009]维护序列 (线段树)
    类型转换求和
    懒人创造方法
    编程的精义
    10-instanceof
    9-接口
    6-SUPER关键字
    5-重写与重载
  • 原文地址:https://www.cnblogs.com/jing1208/p/7217523.html
Copyright © 2011-2022 走看看