pthreads 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
pthreads 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
pthreads 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
pthreads 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
pthreads 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 PHP
开发语言 PHP
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2014-02-08

软件简介

该项目为 PHP 提供基于 POSIX 的多线程编程机制。可异步执行任何与定义的用户自定义方法和函数。内建支持同步和同步方法。

要求:

  • PHP5.3+

  • ZTS Enabled ( Thread Safety )

  • Posix Threads Implementation

示例代码:

<?php
class AsyncOperation extends Thread {
  public function __construct($arg){
    $this->arg = $arg;
  }

  public function run(){
    if($this->arg){
      printf("Hello %s\n", $this->arg);
    }
  }
}
$thread = new AsyncOperation("World");
if($thread->start())
  $thread->join();
?>
展开阅读全文

代码

评论 (5)

加载中
尝试下。 pthreads
2014/02/08 11:12
回复
举报
靠谱吗 pthreads
2014/02/08 16:43
回复
举报
有用过的吗 pthreads
2014/02/10 09:17
回复
举报
2014/02/10 16:34
回复
举报
PHP #pthreads# 多线程编程实现异步操作
2016/09/02 12:27
回复
举报
更多评论
暂无内容
发表了博客
2016/04/09 11:40

pthreads ---work

<?php class Work extends Threaded {     public function run() {              } } $my = new Worker(); $work = new Work(); //放入类,返回栈中类个数 var_dump($my->stack($work)); //执行栈中类 $my->start(); //取出栈中类,必须在start之后才会有效,返回当前栈中个数 var_dump($my->unstack($work)); ?>...

0
0
发表于软件架构专区
2015/08/10 17:13

pthreads扩展 安装

一、判断PHP是ts还是nts版 通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。 二、根据PHP ts\nts版选择对应pthreads的版本 windows版本的下载地址 http://windows.php.net/downloads/pecl/releases/pthreads/0.1.0/ 本人php版本是5.4.17的所以下载php_pthreads-0.1.0-5.4-ts-vc9-x86.zip文件包,其中0.1.0表示为当前 pthreads版本号,5.4为p...

0
0
2020/09/14 18:00

pthreads php 安装全过程

简介 pthreads 是一组允许用户在 PHP 中使用多线程技术的面向对象的 API。 它提供了创建多线程应用所需的全套工具。 通过使用 Thread, Worker 以及 Threaded 对象,PHP 应用可以创建、读取、写入以及执行多线程应用,并可以在多个线程之间进行同步控制。 Tip 建议使用 parallel 作为替代。 Warning 不可以在 web 服务器环境中使用 pthreads 扩展, PHP 多线程开发仅限于命令行模式的应用。 Warning 只能在 PHP 7.2+ 版本中使用...

0
0
发表于AI & 大数据专区
2015/06/01 17:37

Pthreads条件变量

条件变量的定义:条件变量是一个数据对象,允许线程在某个特定条件或事件发生前都处于挂起状态。因此在Pthreads程序中至少有两个对象,一个在条件满足或事件发生时发送信号,另一个等待信号。发送对象的操作流程通常如下:(1)对互斥量上锁;(2)操作谓词;(3)发送信号;(4)解锁互斥量。等待对象的操作流程通常为:(1)对互斥量上锁;(2)等待信号;(3)进行操作;(4)解锁互斥量。 注意三个问题: while(data.flag == false) //检查谓...

0
0
发表了博客
2018/02/25 14:17

Pthreads n 体问题

▶ 《并行程序设计导论》第六章中讨论了 n 体问题,分别使用了 MPI,Pthreads,OpenMP 来进行实现,这里是 Pthreads 的代码,分为基本算法和简化算法(引力计算量为基本算法的一半,但是消息传递较为复杂) ● 基本算法 1 // pth_nbody_basic.c,Pthreads 基本算法 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 #include <math.h> 6 #include <pthread.h> 7 #include "D:\Code\Pt...

0
0
发表了博客
2018/04/09 10:34

pthreads v3在centos7下的安装与配置

我的centos版本是7.4.1708,php的版本是7.2.4(注意要是线程安全版),如下图所示: 首先我们在如下网址下载好pthreads的源码: http://pecl.php.net/package/pthreads 如:pthreads-3.1.6.tgz 1、解压、并进入目录 > tar xf pthreads-3.1.6.tgz > cd pthreads-3.1.6 2、运行phpize,生成configure,如果没有配置PATH的,可以打上绝对路径。 > phpize 3、运行configure > ./configure --with-php-config=/data/php72/bin/p...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2015/12/25 16:25

linux系统lampp运行环境使用pthreads PHP扩展出错

想问下在linux服务器上,lampp运行环境,想使用php多线程,需要使用pthreads PHP扩展,直接安装pthreads-master,提示需要开启-enable-maintainer-zts,需要php重新编译 ./configure --prefix=/opt/lampp/include/php --with-config-file-path=/opt/lampp/include/php/etc --with-mysql=/usr/include/mysql --with-mysqli=/usr/bin/mysql_config --with-inconv-dir --with-freetype-dir=/opt/lampp/bin --with-jpeg-dir=/opt/l...

33
1
发表了问答
2015/10/20 17:20

php curl pthreads 多线程抓取页面的循环执行不完

想问下,php用pthreads多线程抓取页面信息老是出错的问题, for ($i = $sn_count; $i < $arr_count ; $i++) { $sn = $csvfile[$i]; if(!empty($sn)){ $a++; $search_data = array( '7.1.1' => $sn , '7.1.3' => 'search', ); $sn_url = $test_url.'/'.$a.'.7.1'; $result = post_content($sn_url,$search_data,$cookie_file); if (!empty($result)) { echo $i.'<br />'; $sndata = instertdata($result,$txtfile,$i,$sn,$array...

6
0
发表了问答
2014/09/04 09:30

tcp多客户端程序设计

问题:想设计一个多客户端的tcp程序,客户端每隔1s(或更短)时间向服务器端发送心跳包(几KB),服务器收到后发送响应给客户端,现在设计一个程序开辟多个线程来模拟场景,要求客户端10000~25000个,服务器端的CPU使用率不能太高。 现状:目前程序跑5000个线程间隔1s发送,程序没有问题,无丢包,服务器的cpu使用率在45%左右 问题:当跑10000个线程时,客户端部分线程connect报错:connection reset by peer,网上的解释是访问...

14
3
发表了问答
2014/09/02 15:10

集群心跳tcp实现问题

目前在实现一个集群心跳模型,要求10000-25000个客户端发送数据包到服务器,服务器每接收一条就返回一条确认信息,现在通过几台服务器开辟多线程来模拟整个心跳规模服务器端的负载,5000个线程时程序稳定,但开辟更多时,客户端Recv函数开始报错,不知道什么原因,有大神来指导下吗

3
0
发表了问答
2014/03/07 20:05

MPI+pthread的问题,程序调试两周了,代码只有90行,望大侠们给点线索啊

下面这段程序调试了2周了,就是不知道哪里出了问题,代码只有90多行,还请大家赐教啊。 这段程序在我本机linux运行没有问题,但是在我们实验室的集群上,上海超算中心,济南超算中心都运行的有问题。 程序的逻辑很简单,启动两个mpi进程,master 进程(id = 0)在tag:0上监听,slave(id = 1)每隔1秒向master tag:0发送消息然后slave在tag:100上监听ack消息,master收到消息后给slave的tag:100返回一个ack的消息。 程序的问题描...

2
1
发表了问答
2014/06/13 19:12

PHP 高级编程之多线程(第三版)

PHP 高级编程之多线程 http://netkiller.github.io/journal/thread.php.html Mr. Neo Chen (netkiller), 陈景峰(BG7NYT) 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 <netkiller@msn.com> 版权 © 2011, 2012, 2013, 2014 http://netkiller.github.io 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 文档出处: http://netkiller.github.io http://netki...

3
22
发表了问答
2014/05/16 22:52

PHP 高级编程之多线程

PHP 高级编程之多线程 http://netkiller.github.io/journal/thread.php.html Mr. Neo Chen (netkiller), 陈景峰(BG7NYT) 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 <netkiller@msn.com> 版权 © 2011, 2012, 2013, 2014 http://netkiller.github.io 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 文档出处: http://netkiller.github.io http://netki...

20
15
发表了问答
2014/03/21 18:17

新手,pthread_cond_wait的使用求高手解答

#include<pthread.h> #include<unistd.h> #include<stdio.h> #include<string.h> #include<stdlib.h> static pthread_mutex_t mtx=PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t cond=PTHREAD_COND_INITIALIZER; struct node {   int n_number;   struct node* n_next; }* head=NULL; static void cleanup_handler(void *arg) {   printf("Cleanuphandlerofsecondthread.\n");   free(arg);   pthread_mutex_unlock(&mtx); } st...

2
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
5 评论
157 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部