欢迎来到天天文库
浏览记录
ID:30505105
大小:16.77 KB
页数:6页
时间:2018-12-30
《php多线程编程之管道通信实例分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解PHP多线程编程之管道通信实例分析 这篇文章主要介绍了PHP多线程编程之管道通信,实例分析了管道通信的原理与相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了PHP多线程编程之管道通信用法。分享给大家供大家参考。具体分析如下: 一个线程如果是个人英雄主义,那么多线程就是集体主义,你不再是一个独行侠,而是一个指挥家。 管道通信: 1.管道可以认为是一个
2、队列,不同的线程都可以往里面写东西,也都可以从里面读东西。写就是 在队列末尾添加,读就是在队头删除。 2.管道一般有大小,默认一般是4K,也就是内容超过4K了,你就只能读,不能往里面写了。 3.默认情况下,管道写入以后,就会被阻止,直到读取他的程序读取把数据读完。而读取线程也会被阻止, 直到有进程向管道写入数据。当然,你可以改变这样的默认属性,用stream_set_block函数,设置成非阻断模式。 下面是我分装的一个管道的类(这个类命名有问题,没有统一,没有时间改成统一的了,我一般先写测试代码,最后分装,
3、所以命名上可能不统一): classPipe对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 { public$fifoPath; private$w_pipe; private$r_pipe; /** *自动创建一个管道 * *@paramstring$name管道名字 *@pa
4、ramint$mode管道的权限,默认任何用户组可以读写 */ function__construct($name='pipe',$mode=0666) { $fifoPath="/tmp/$name.".posix_getpid(); if(!file_exists($fifoPath)){ if(!posix_mkfifo($fifoPath,$mode)){ error("createnewpipe($name)error."); returnfalse; } }else{ error("p
5、ipe($name)hasexit."); returnfalse;对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 } $this->fifoPath=$fifoPath; } /////////////////////////////////////////////////// //写管道
6、函数开始 /////////////////////////////////////////////////// functionopen_write() { $this->w_pipe=fopen($this->fifoPath,'w'); if($this->w_pipe==NULL){ error("openpipe{$this->fifoPath}forwriteerror."); returnfalse; } returntrue; } functionwrite($data) {
7、returnfwrite($this->w_pipe,$data); }对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 functionwrite_all($data) { $w_pipe=fopen($this->fifoPath,'w'); fwrite($w_pipe,$data);
8、fclose($w_pipe); } functionclose_write() { returnfclose($this->w_pipe); } ///////////////////////////////////////////////////////// ///读管道相关函数开始 /////////////
此文档下载收益归作者所有