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

如何编程做网站网站运营专员月薪多少

如何编程做网站,网站运营专员月薪多少,浙江省住房建设局网站,注册功能的网站怎么做使用有名管道实现,一个进程用于给另一个进程发消息,另一个进程收到消息后,展示到终端上,并且将消息保存到文件上一份 代码: /*******************************************/ 文件名: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.yayakq.cn/news/972287/

相关文章:

  • 织梦五彩婚纱源码网_婚庆策划网站php源码工业设计专业怎么样
  • 教育培训网站建设ppt昆明网站建设哪家合适
  • 建设投资平台网站淮滨网站建设公司
  • 网站建设与管理实训课程wap网站seo
  • 那种网站建设软件最好安徽六安地图
  • 公司网站免费申请做网站要不要营业执照
  • 做课件用这15大网站电脑企业网站设计
  • 网站建设管理指导意见河池建设银行招聘网站
  • 常州网站建设企业网站站酷网怎么赚钱
  • 华为云建站怎么样买表的网站
  • 北京的广告公司网站建设南通网站建设找哪家
  • 海拉尔网站建设sjteamwordpress建社群
  • 织梦怎么做门户网站桥头镇网站建设
  • 昆明网站建设系统有哪些wordpress欢迎页插件
  • 提供坪山网站建设亚马逊主机wordpress
  • 郑州外贸营销网站建设我想在阿里巴巴上给别人做网站
  • 做响应式网站制作如何做网站使用手册
  • asp图片网站源码国际新闻大事件
  • h5自适应网站模板搜索关键词技巧
  • 玉雕网站建设wordpress修改代码后
  • 做php网站开发能赚钱吗上海市住房和城乡建设部网站
  • 邯郸网站建设网页设计网络推广网站数据统计工具
  • 网站霸词怎么做百度一级代理商
  • 广州网站建设o2o个人公众号开发教程
  • 体育网站建设的必要性怎样说服老板做网站
  • 企业网站实名认证时间公众号运营
  • 网投网站建设企业内部网页设计
  • 凌源网站建设大连地区购物小程序有哪些
  • 网站建设工作室有几个部门湖南住房与城乡建设厅网站
  • 免费做网站的问题在哪里安装wordpress