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

阿里巴巴有几个网站是做外贸的推广赚钱项目

阿里巴巴有几个网站是做外贸的,推广赚钱项目,淘宝做流量的网站可靠吗,wordpress文章管理插件使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上一份 代码: /*******************************************/ 文件名:create.c /********…

使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上一份

代码:

/*******************************************/

文件名:create.c

/*******************************************/

#include <myhead.h>
int main(int argc, char const *argv[])
{//创建有名管道文件if (mkfifo("./linux", 0664) == -1){perror("mkfifo error");return -1;}getchar();system("rm linux");return 0;
}

/*******************************************/

文件名:send.c

/*******************************************/

#include <myhead.h>
int main(int argc, char const *argv[])
{//以写的形式打开管道文件int wfd = open("./linux", O_WRONLY);if (wfd == -1){perror("open error");return -1;}printf("管道文件已经打开\n");//发送数据char wbuf[128] = "";while (1){printf("请输入>>>>");fgets(wbuf, sizeof(wbuf), stdin);wbuf[strlen(wbuf) - 1] = 0;//将数据发送给到管道中write(wfd, wbuf, strlen(wbuf));//判断数据if (strcmp(wbuf, "quit") == 0){break;}}//关闭文件描述符close(wfd);return 0;
}

/*******************************************/

文件名:get.c

/*******************************************/

#include <myhead.h>
int main(int argc, char const *argv[])
{//以读的形式打开文件int rfd = open("./linux", O_RDONLY);if (rfd == -1){perror("open error");return -1;}int cfd = open("./h.txt", O_WRONLY);if (cfd == -1){perror("open error");return -1;}printf("管道文件读端打开\n");//定义接受容器char rbuf[128] = "";while (1){bzero(rbuf, sizeof(rbuf));//读取数据read(rfd, rbuf, sizeof(rbuf));if (strcmp(rbuf, "quit") == 0){break;}printf("收到消息为:%s\n", rbuf);write(cfd,rbuf,strlen(rbuf));}//关闭文件描述符close(rfd);close(cfd);return 0;
}

结果:

使用有名管道实现两个进程间相互通信

代码:

/*******************************************/

文件名:create1.c

/*******************************************/

#include <myhead.h>
int main(int argc, char const *argv[])
{//创建有名管道文件if (mkfifo("./linux_first", 0664) == -1){perror("mkfifo error");return -1;}getchar();system("rm linux_first");return 0;
}

/*******************************************/

文件名:create2.c

/*******************************************/

#include <myhead.h>
int main(int argc, char const *argv[])
{//创建第二个有名管道文件if (mkfifo("./linux_next", 0664) == -1){perror("mkfifo error");return -1;}getchar();system("rm linux_next");return 0;
}

/*******************************************/

文件名:one.c

/*******************************************/

#include <myhead.h>
sem_t sem;
void *task1(void *arg)
{//只读的形式打开管道文件2int rfdo = open("./linux_next", O_RDONLY);if (rfdo == -1){perror("open error");return NULL;}//定义接收容器char rbufo[128] = "";while (1){bzero(rbufo, sizeof(rbufo));//读取数据read(rfdo, rbufo, sizeof(rbufo));if (strcmp(rbufo, "quit") == 0){sem_post(&sem);break;}printf("对方的消息>>>%s\n", rbufo);sem_post(&sem);}//关闭文件描述符close(rfdo);pthread_exit(NULL); //退出线程
}
void *task2(void *arg)
{//只写的形式打开管道文件1int wfdo = open("./linux_first", O_WRONLY);if (wfdo == -1){perror("open error");return NULL;}//发送数据char wbufo[128] = "";while (1){sem_wait(&sem);printf("对话>>>");fgets(wbufo, sizeof(wbufo), stdin);wbufo[strlen(wbufo) - 1] = 0;write(wfdo, wbufo, strlen(wbufo));if (strcmp(wbufo, "quit") == 0){break;}}//关闭文件描述符close(wfdo);
}
int main(int argc, char const *argv[])
{//初始化无名信号量sem_init(&sem, 0, 1);//定义变量存储线程号pthread_t tido = -1;if (pthread_create(&tido, NULL, task1, NULL) != 0){printf("pthread_create error\n");return -1;}//定义变量存储线程号pthread_t tido2 = -1;if (pthread_create(&tido2, NULL, task2, NULL) != 0){printf("pthread_create error\n");return -1;}//阻塞回收线程的资源pthread_join(tido, NULL);pthread_join(tido2, NULL);//销毁无名信号量sem_destroy(&sem);return 0;
}

/*******************************************/

文件名:another.c

/*******************************************/

#include <myhead.h>
sem_t sem;
void *task1(void *arg)
{//只写的形式打开管道文件2int wfda = open("./linux_next", O_WRONLY);if (wfda == -1){perror("open error");return NULL;}//发送数据char wbufa[128] = "";while (1){sem_wait(&sem);printf("对话>>>");fgets(wbufa, sizeof(wbufa), stdin);wbufa[strlen(wbufa) - 1] = 0;write(wfda, wbufa, strlen(wbufa));if (strcmp(wbufa, "quit") == 0){break;}}//关闭文件描述符close(wfda);pthread_exit(NULL); //退出线程
}
void *task2(void *arg)
{//只读的形式打开管道文件1int rfda = open("./linux_first", O_RDONLY);if (rfda == -1){perror("open error");return NULL;}//定义接收容器char rbufa[128] = "";while (1){bzero(rbufa, sizeof(rbufa));//读取数据read(rfda, rbufa, sizeof(rbufa));if (strcmp(rbufa, "quit") == 0){sem_post(&sem);break;}printf("对方的消息>>>%s\n", rbufa);sem_post(&sem);}//关闭文件描述符close(rfda);pthread_exit(NULL); //退出线程
}
int main(int argc, char const *argv[])
{//初始化无名信号量sem_init(&sem, 0, 0);//定义变量存储线程号pthread_t tida = -1;if (pthread_create(&tida, NULL, task1, NULL) != 0){printf("pthread_create error\n");return -1;}//定义变量存储线程号pthread_t tida2 = -1;if (pthread_create(&tida2, NULL, task2, NULL) != 0){printf("pthread_create error\n");return -1;}pthread_join(tida, NULL);pthread_join(tida2, NULL);//销毁无名信号量sem_destroy(&sem);return 0;
}

结果:

思维导图:

http://www.15wanjia.com/news/54785.html

相关文章:

  • 国内外做的比较好的家装网站抖音seo排名优化软件
  • 怎么根据别人的网站做自己的网站网站排名前十
  • 建设银行网站首页打汕头网站建设推广
  • 免费数据库网站seo流量是什么意思
  • 生物网站建设网店培训教程
  • 深圳优定软件网站建设优化推广网站seo
  • 装修网站怎么做推广推广网站文案
  • 个人网站制作价格表抖音搜索seo软件
  • 网站设计评分标准网站的seo是什么意思
  • 长沙网站建设哪个好制作网站的软件叫什么
  • dux2.0支持Wordpressseo公司广州
  • dw做简单小说网站外贸seo网站
  • 西安网站制作一般多少钱网络营销模式
  • 教育品牌网站建设seo服务外包报价
  • wordpress 登陆原理结构优化
  • 阿里巴巴免费做网站吗跨境电商seo是什么意思
  • 怎样学习做网站慈溪seo排名
  • Wordpress球队网站营销渠道的三个类型
  • 网站建设带数据库模板公司员工培训方案
  • 中国建设银行淮南分行网站网站建设公司推荐
  • 网站建设教程ppt怎么创建一个属于自己的网站
  • 知名的网站开发公司seo优化的价格
  • 哪个工业园区信息化网站做的好全网优化推广
  • 聊城大型门户网站建设哪里可以接广告
  • 做汽车保养的网站上百度q3财报2022
  • 五百亿网站建设网站开发公司
  • 电商网站开发文档网站推广引流
  • 北京公司网站建设费用产品seo怎么优化
  • 泰州网站建设服务好360免费建站系统
  • 做网站怎么注册域名网络服务商电话