当前位置: 首页 > news >正文

网站制作方案设计电子商务公司是干什么的

网站制作方案设计,电子商务公司是干什么的,免签支付 wordpress,莱芜民生网1. 什么是FIFO FIFO命名管道,也叫有名管道,来区分管道pipe。管道pipe只能用于有血缘关系的进程间通信,但通过FIFO可以实现不相关的进程之间交换数据。FIFO是Linux基础文件类型中的一种,但是FIFO文件在磁盘上没有数据块&#xff0c…

1. 什么是FIFO
FIFO命名管道,也叫有名管道,来区分管道pipe。管道pipe只能用于有血缘关系的进程间通信,但通过FIFO可以实现不相关的进程之间交换数据。FIFO是Linux基础文件类型中的一种,但是FIFO文件在磁盘上没有数据块,仅仅用来标识内核中的一条通道。各进程可以打开这个文件进行read/write操作,实际上是在读写内核通道,这样就实现了进程间通信。

创建FIFO的方式:

使用命令创建:mkfifo 管道名,可以理解为创建一个管道伪文件。
使用库函数创建:mkfifo()函数,并且一旦使用mkfifo()创建了一个FIFO,就可以使用open来打开它,常见的文件I/O函数都可用于FIFO。如:close、read、write、unlink等。
实际上,创建一个FIFO命名管道的时候,内核会为FIFO(伪)文件开辟一个缓冲区,操作FIFO文件就相当于操作这个缓冲区,以此来实现进程间的通信,这种通信实际上就是文件读写的操作来实现的。(可以把FIFO理解为一个文件,一个进程向该文件写数据,另一个进程从该文件中读书数据,前提是两个进程读写的是同一个FIFO文件才能实现通信)

2.当open一个FIFO时,是否设置非阻塞标志(O_NONBLOCK)的区别:

        若没有执行O_NONBLOCK(默认),只读open要阻塞到某个其他进程为写而打开此FIFO。类似的,只写open要阻塞到其他进程为读而打开它。

        若指定了O_NONBLOCK,则只读open立即返回。而只写open将出错返回-1,如果没有进程已经为读而打开该FIFO,其errno置ENXIO。
 

3.代码:

创建两个进程,一个进程向FIFO数据,一个进程从FIFO数据。

write:

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>//       int mkfifo(const char *pathname, mode_t mode);
//   ssize_t write(int fd, const void *buf, size_t count);int main()
{int cnt = 0;char *str = "message from fifo";int fd = open("./ipc-file",O_WRONLY);printf("write open success\n");while(1){write(fd,str,strlen(str));sleep(2);cnt++;if(cnt == 5){break;}}close(fd);return 0;}

read:

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h>
#include <fcntl.h>//       int mkfifo(const char *pathname, mode_t mode);int main()
{int cnt = 0;char buf[30]={0};	if(mkfifo("./ipc-file",0700)==-1 && errno != EEXIST){printf("mkfifo fail");perror("why");}	int fd = open("./ipc-file",O_RDONLY);printf("open success\n");while(1){int nread = read(fd,buf,30);printf("read %d byte from fifo/n,context :%s\n",nread,buf);cnt++;if(cnt == 3){break;}}close(fd);return 0;}

结果:

http://www.yayakq.cn/news/576340/

相关文章:

  • 企业网站怎么维护如何在网站中加入百度地图
  • 哈尔滨龙彩做网站多少钱怎么制作网站平台电话
  • 伊犁州住房城乡建设局网站自己的主机做网站服务器
  • 网站建设汇报方案ppt企业电话查询黄页
  • 个人网站备案可以填几个域名国外好的电商网站有哪些
  • 建设银行网站连不上html网页设计代码作业大一
  • 胶南网站建设湖南自考网站建设与管理
  • 网站被攻击会影响收录么双语网站后台怎么做
  • 网站提交搜索引擎小程序在哪里
  • 更改网站后台网站搭建多少钱logo修改
  • 小语种网站制作wordpress函数手册
  • 烟台做网站优化哪家好邢台信息港二手房出售
  • 福州专业网站设计公司给赌场做网站
  • 浙江省建设网站什么是营销型网站建设
  • 个人手机网站建设蛋糕网站源码
  • 微模板网站建设借钱软件推广微信hyhyk1
  • 提供设计网站效果图可以做配音兼职的网站
  • 黑龙江建设人力资源网站移动互联网以什么为技术核心
  • 以数字域名为网址的网站学习网页设计网站制作
  • 重庆市网站备案材料网站的动画广告横幅怎么做的
  • 自助建手机网站免费做网站怎样申请动态域名
  • 西安有哪些网站建设公司好对网站建设提建议
  • 站长统计推荐网站主机有什么用
  • 网站建设目标定位28招商加盟网
  • 网站建设计划书1200字子轩wordpress
  • 宝安公司网站建设比较好的js特效如何放到网站上
  • 建设玩外汇平台网站推广方案
  • 在线做网站需要什么二次元百科官网wordpress
  • 郑州网站制作多少钱china东莞seo
  • 网页制作与网站建设申请了域名先做网站还是先备案