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

用java怎么做门户网站找培训机构的平台

用java怎么做门户网站,找培训机构的平台,做网站代刷能赚多少钱,服务器iis添加网站一、有名管道 有名管道与匿名管道的不同: 有名管道提供了一个路径名,并以FIFO的文件形式存在于文件系统中。与匿名管道不同,有名管道可以被不相关的进程使用,只要它们可以访问该路径,就能够通过有名管道进行通信。 FI…

一、有名管道 

  1. 有名管道与匿名管道的不同:

    • 有名管道提供了一个路径名,并以FIFO的文件形式存在于文件系统中。
    • 与匿名管道不同,有名管道可以被不相关的进程使用,只要它们可以访问该路径,就能够通过有名管道进行通信。
  2. FIFO的打开和使用方式:

    • 一旦打开了有名管道,可以使用与操作匿名管道和其他文件相同的 I/O 系统调用,如 read()write()close()
  3. 数据交换顺序和先入先出(FIFO):

    • 与管道类似,有名管道也有一个写入端和读取端。
    • 从有名管道中读取数据的顺序与写入的顺序是一样的,符合先入先出(FIFO)的原则。
  4. FIFO的特点:

    • FIF0在文件系统中作为一个特殊文件存在,但其内容存放在内存中。
    • 当使用有名管道的进程退出后,FIFO文件仍然保存在文件系统中,以便以后使用。

 

 

 

 二、有名管道创建

  • 有名管道的路径和名称可以根据实际需求进行设置,但应遵循文件系统的规则。
  • 有名管道创建成功后,其他进程可以通过相同的路径和名称打开该有名管道,以进行进程间通信。
  • 在实际应用中,需要对返回值进行更详细的错误处理,并根据需要设置更复杂的权限模式。
/*创建fifo文件1. 通过命令 : mkfifo名字2. 通过函数 : int mkfifo(const char *pathname,mode_t mode);#include<sys/types.h>#include<sys/stat.h>int mkfifo(const char *pathname,mode_t mode);参数:-pathname: 管道名称的路径-mode: 文件的权限,和open的mode一样返回值:-成功:0-失败:-1,并设置错误号**/
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include <string.h>int main(){int ret =mkfifo("fifo1",0664);if(ret==-1){perror("mkfifo");exit(0);}return 0;
}

 三、案例

        一个用于向有名管道写入数据,另一个用于从有名管道中读取数据。这两个程序共同演示了有名管道的基本用法

 write端:

  • 判断文件是否存在,如果不存在则创建有名管道文件。
  • 以只写方式打开管道。
  • 使用 write 函数向管道中写入数据。

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>// 向管道中写数据
/*有名管道的注意事项:1.一个为只读而打开一个管道的进程会阻塞,直到另外一个进程为只写打开管道2.一个为只写而打开一个管道的进程会阻塞,直到另外一个进程为只读打开管道读管道:管道中有数据,read返回实际读到的字节数管道中无数据:管道写端被全部关闭,read返回0,(相当于读到文件末尾)写端没有全部被关闭,read阻塞等待写管道:管道读端被全部关闭,进行异常终止(收到一个SIGPIPE信号)管道读端没有全部关闭:管道已经满了,write会阻塞管道没有满,write将数据写入,并返回实际写入的字节数。
*/
int main() {// 1.判断文件是否存在int ret = access("test", F_OK);if(ret == -1) {printf("管道不存在,创建管道\n");// 2.创建管道文件ret = mkfifo("test", 0664);if(ret == -1) {perror("mkfifo");exit(0);}}// 3.以只写的方式打开管道int fd = open("test", O_WRONLY);if(fd == -1) {perror("open");exit(0);}// 写数据for(int i = 0; i < 100; i++) {char buf[1024];sprintf(buf, "hello, %d\n", i);printf("write data : %s\n", buf);write(fd, buf, strlen(buf));sleep(1);}close(fd);return 0;
}

read端:

  • 以只读方式打开管道。
  • 使用 read 函数从管道中读取数据。
  • 当写端关闭后,read 返回 0,程序检测到写端断开连接并退出。
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>// 从管道中读取数据
int main() {// 1.打开管道文件int fd = open("test", O_RDONLY);if(fd == -1) {perror("open");exit(0);}// 读数据while(1) {char buf[1024] = {0};int len = read(fd, buf, sizeof(buf));if(len == 0) {printf("写端断开连接了...\n");break;}printf("recv buf : %s\n", buf);}close(fd);return 0;
}

http://www.mmbaike.com/news/77722.html

相关文章:

  • 同样是div 怎么有些网站收录少 有些多新网seo关键词优化教程
  • 合肥做网站优化网站友情链接检测
  • 手机端便民服务平台网站建设社群运营的经典案例
  • 找我家是做的视频网站好苹果看国外新闻的app
  • 百度怎样收录网站杭州网络推广外包
  • 有做网站的公司吗外贸网站推广
  • 深圳专业做网站哪家好深圳营销型网站
  • 开封网站快速排名优化上海有哪些优化网站推广公司
  • 将自己做的网站入到阿里云域名上seo 推广教程
  • 网络系统运维百度热搜seo
  • 浙江省住房和城乡建设厅官方网站企业品牌推广方案
  • it外包有哪些手机优化大师下载安装
  • 本地企业网站建设模板老客外链
  • 两学一做网站 新闻全国推广优化网站
  • 中国网站建设市场分析报告网站cms
  • 上海网站建设设计公司排名深圳百度搜索排名优化
  • 云服务器怎么发布网站个人网站推广方法
  • 在哪个网站做ppt模板赚钱seo实战培训班
  • 网站服务器要多少钱seo网站优化推广怎么样
  • 深圳营销型网站建设设计公司河南网站推广多少钱
  • 网络营销优化推广悟空建站seo服务
  • 网站做SEO优化在哪里可以找到网站
  • 手机运用网站石家庄网站建设方案
  • 有没有做维修的网站html网站模板免费
  • 有没有专做食品批发的网站网络营销推广的
  • python可以做复杂网站seo网站优化建议
  • 计算机应用网站开发长沙网站seo收费
  • 北京做网站哪家便宜网络推广工作
  • 邢台县教育局五库建设网站前端seo优化
  • 国家基础设施建设网站简短的软文范例