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

成都高新区建设厅网站天津西青网站建设公司

成都高新区建设厅网站,天津西青网站建设公司,wordpress api定制,用织梦做的网站怎样看专栏内容#xff1a;linux下并发编程个人主页#xff1a;我的主页座右铭#xff1a;天行健#xff0c;君子以自强不息#xff1b;地势坤#xff0c;君子以厚德载物#xff0e;目录 前言 概述 原理介绍 接口说明 代码演示 结尾 前言 本专栏主要分享linux下并发编程…   专栏内容linux下并发编程个人主页我的主页座右铭天行健君子以自强不息地势坤君子以厚德载物目录 前言 概述 原理介绍 接口说明 代码演示 结尾 前言 本专栏主要分享linux下并发编程相关知识包括多进程多线程进程/线程间通信并发同步控制以及高并发下性能提升请大家多多留言。 概述 在不同进程和程序间如何传递少量数据且能阻塞形式使用这就用到了管道。管道分为两种无名管道和命名管道因为子进程可以复制父进程的进程上下文所以无名管道用在父子进程间而命名管道在不同进程间通过路径名进行共享更加通用。 原理介绍 命名管道是一种在进程间进行通信的机制它可以用于在两个进程间进行数据传输。具体来说命名管道是一种特殊类型的文件它可以在不同的进程中被打开和读写从而实现了进程间的通信。一般情况下在Linux系统中命名管道的创建和使用是通过C语言的相关API实现的。 建立管道文件后可以在路径下看到它的文件类型为 p 说明它是管道文件。管道文件不同于一般文件的是写时会阻塞至到数据被读出而在读时无数据的话会阻塞等待直到有数据被写入。 通过系统命令也可以创建命名管道如下 [senllanglocalhost pipetest]$ mkfifo /tmp/myfilo [senllanglocalhost pipetest]$ ll /tmp/ total 0 prw-r--r--. 1 senllang develops  0 Apr  8 15:52 myfilo 可以看到管道文件的类型为 p我们打开两个终端进行读写测试。 终端一写入 [senllanglocalhost pipetest]$ echo hello /tmp/myfifo  因为没有读此时会卡住 终端二读取 [senllanglocalhost ~]$ cat /tmp/myfifo hello 可以看到读出了hello此时终端一也会解除阻塞。同样先读取也会阻塞直到写入数据为至。 接口说明 1管道文件创建 #include sys/types.h#include sys/stat.hint mkfifo(const char *pathname, mode_t mode); 通过传递路径pathname和mode权限来创建管道文件。 #include fcntl.h           /* Definition of AT_* constants */#include sys/stat.hint mkfifoat(int dirfd, const char *pathname, mode_t mode); 这是另一个版本当pathname是相对路径时创建路径是在dirfd指定的目录下。当dirfd为 AT_FDCWD时用mkfifo效果一样。 2管道文件打开/读写/关闭 常用的文件操作 open/read/write/close 3删除管道文件 unlink(fd) 在用完管道时需要删除管道文件和删除文件类似。 代码演示 #include stdio.h #include ctype.h #include fcntl.h #include sys/stat.h #include unistd.hint main() {int fd;char *myfifo /tmp/myfifo;char input[256];char output[256];/* create named pipe */mkfifo(myfifo, 0666);/* open named pipe for reading */fd open(myfifo, O_RDWR);while(1) {/* read input from named pipe */read(fd, input, 256);/* convert input to uppercase */int i;for (i 0; input[i]; i) {output[i] toupper(input[i]);}/* write output to named pipe */int len i;write(fd, output, len);}/* close named pipe */close(fd);unlink(myfifo);return 0; }编译后运行管道里的字符串被程序转为大写后又写入管道。 [senllanglocalhost pipetest]$ gcc mkfifo_ex01.c -o mkfifo_ex01 [senllanglocalhost pipetest]$ ./mkfifo_ex01 在另一个终端写入字符串 [senllanglocalhost ~]$ echo hello /tmp/myfifo [senllanglocalhost ~]$ cat /tmp/myfifo HELLO   结尾 作者邮箱studysenllang.onaliyun.com 如有错误或者疏漏欢迎指出互相学习。另外有什么想要了解的内容也可以给我发邮件互相谈讨定知无不言。 注未经同意不得转载
http://www.ho-use.cn/article/10818896.html

相关文章:

  • 做网站绑定域名 解析域名山东农业工程学院教务网络管理系统
  • 海关年检要去哪个网站上做网上营销新观察网
  • 深圳品牌网站建设服务建造自己的网站
  • 网站静态和动态那个好徐州建设工程交易平台
  • 个人网站内容如何填写网站设计深圳市
  • 网站申请微信登录wordpress浮动小人
  • 可以做网站首页的图片哮喘病应该怎样治除根
  • 新乡做新网站wordpress 添加固定字段
  • 个人网站效果东莞建设网站综合服务平台
  • 梅江区住房和城乡建设局官方网站织梦做的网站快照被攻击
  • 浙江省建设厅网站在哪里ui设计简介
  • 泉州关键词网站排名怎么做网站界面设计
  • 制作网站品牌公司wordpress. xss
  • 深圳做app网站设计平面设计接单的网站
  • 凡客家具seo引擎优化专员
  • 自己做的网站网页打开速度慢学校网站建设渠道
  • 泸州工投建设集团网站给企业做网络推广工作怎么样
  • 做网站除了有服务器还需要什么软件成都哪里做网站
  • 网站 邮件系统建设招标做教育的需要做个网站吗
  • 网站横幅代码制作网站的网页
  • 网站做专题免费源码资源分享网
  • 青岛做一个网站多少钱开发平台多少钱
  • 广州刚刚通报优化网站排名推广
  • 南宁专业网站制作西双版纳傣族自治州勐海县
  • 自学做网站需要学会哪些最新新闻热点事件及评论
  • 做网站用的一些素材网站建设哪家较好
  • 上海网站建设优化wordpress给分页加链接
  • 集团网站设计开发重置wordpress
  • 陆良网站建设网站开发计入会计 什么科目
  • 行业网站运营计划电商怎么自学