在PHP中使用pthread拓展
发布时间:2022-06-15 02:14:34 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了PHP中使用pthread拓展,本文讲述线程类的使用方法和线程类的概念和使用场景,以及具体的代码实现,以下就是详细内容,需要的朋友可以参考下。 线程的创建和使用 1. Thread类 基本的创建和使用: ?php //通过继承Thread类来实现自己的线程类M
这篇文章主要介绍了PHP中使用pthread拓展,本文讲述线程类的使用方法和线程类的概念和使用场景,以及具体的代码实现,以下就是详细内容,需要的朋友可以参考下。 线程的创建和使用 1. Thread类 基本的创建和使用: <?php //通过继承Thread类来实现自己的线程类MyThread class MyThread extends Thread{ //重写构造函数 function __construct(){ } //重写run方法(运行的是子线程需要执行的任务) function run(){ } } //对象的实例化和运行就和java一样 $mt = new MyThread(); $mt->start(); 当然,作为线程类,必须还有另外一些用于查询线程状态以及管理线程的方法: <?php //获取创建线程的父线程id Thread::getCreatorId //获取当前线程id Thread::getCurrentThreadId //获取当前线程引用 Thread::getCurrentThread //将线程加入检测 Thread::join //查看线程是否被检测(是否被join) Thread::isJoined //强行杀死线程 Thread::kill 2.Worker类 Worker类的父类是Thread类,因此基本用法和Thread一样,而Worker类相对于Thread类来说,增加了线程复用的功能(以降低创建销毁线程所耗费的资源),通常与Stackable类连用,也就是说worker类既可以当做线程使用,也可以当做任务的容器来使用,如: 最终输出: task1:run task2:run task3:run 当然Worker类还有其他一些方法来用于父线程对其进行管理。 //获取还没执行的任务数量 Worker::getStacked //判断worker是否关闭 Worker::isShutdown //判断worker是否在工作 Worker::isWorking //关闭销毁worker Worker::shutdown //将任务压栈 Worker::stack //将任务出栈(该api有问题,慎用) Worker::unstack。 (编辑:开发网_郴州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |