如何加强校园网站建设高端网站制作软件

news/2025/9/27 8:49:40/文章来源:
如何加强校园网站建设,高端网站制作软件,做中国最专业的健康门户网站,福建住房和城乡建设网站进程间通信机制(IPC) 简述 IPC#xff1a;Inter Process Communication 进程和进程之间的用户空间相互独立#xff0c;但是4G内核空间共享#xff0c;进程间的通信就是通过这4G的内核空间 分类 传统的进程间通信机制 无名管道#xff08;pipe#xff09; 有名管道Inter Process Communication 进程和进程之间的用户空间相互独立但是4G内核空间共享进程间的通信就是通过这4G的内核空间 分类 传统的进程间通信机制 无名管道pipe 有名管道fifo 信号signal System V中的IPC对象和IPC的区别 消息队列message queue 共享内存shared memory 信号灯集semaphore 可用于主机传输的通信机制 套接字socket 消息队列 概念 在内核内存中创建一个队列进程需要将数据打包成结点添加到队尾中或者从队列中读取结点可以通过消息类型进行消息分类 特点 需要打包有特定的格式以及消息类型 按照先进先出原则但是也可以限制消息类型读取 独立于进程灯进程结束后消息队列以及其中的内容不会删除除非中期操作系统或者手动删除 在Linux系统下可以通过命令ipcs查看消息队列通过ipcrm -q msqid删除消息队列 函数 ftok()函数获得一个Key值用来创建消息队列通过相同的key值可以访问对应的消息队列 msgget()函数创建一个消息队列获得起id号 msgsnd()发送消息到指定消息队列 msgrcv()获取对应消息队列中对应的消息 msgctl()控制消息队列常用于删除消息队列 #includemyhead.h #includesys/msg.h #includesys/ipc.h struct msgbuf {long mtype; //消息类型char mtext[128]; //消息内容 };//线程1函数 void *task1(void *arg) {int msqid *(int *)arg;//获取消息队列id号struct msgbuf msbuf;//声明消息结构体printf(A\n\t);fflush(stdout);while (1){msbuf.mtype 1;//消息类型fgets(msbuf.mtext,sizeof(msbuf.mtext),stdin);msbuf.mtext[strlen(msbuf.mtext)-1]\0;if(msgsnd(msqid,msbuf,sizeof(msbuf)-sizeof(long),0) -1){perror(msgsnd);return NULL;}//printf(线程%d:发送成功\n,getpid());printf(A\n\t);fflush(stdout);if (!strcmp(msbuf.mtext,quit)){system(clear);exit(0);}}pthread_exit(NULL); }//线程2函数 void *task2(void *arg) {int msqid *(int *)arg;struct msgbuf buf;ssize_t num 0;while (1){bzero(buf,sizeof(buf));if ((num msgrcv(msqid,buf,sizeof(buf.mtext),2,0))0){//perror(msgrcv);return NULL;}printf(\nB\n\t%s\n,buf.mtext);printf(A\n\t);fflush(stdout);if (!strcmp(buf.mtext,quit)){msgctl(msqid,IPC_RMID,NULL);system(clear);exit(0);}}pthread_exit(NULL); } int main(int argc, const char *argv[]) {key_t key ftok(./,0);if (key -1){perror(ftok);return -1;/* code */}umask(0);int msqid msgget(key,IPC_CREAT|0664);if (msqid -1){perror(msgget);return -1;}pthread_t tid1,tid2;if (pthread_create(tid1,NULL,task1,msqid) ! 0){printf(线程1创建失败\n);}if (pthread_create(tid2,NULL,task2,msqid) ! 0){printf(线程1创建失败\n);}pthread_join(tid1,NULL);pthread_join(tid2,NULL);return 0; }#includemyhead.h //#includesys/msg.h //#includesys/ipc.h struct msgbuf {long mtype; //消息类型char mtext[128]; //消息内容 };//线程1函数 void *task1(void *arg) {int msqid *(int *)arg;struct msgbuf msbuf;printf(B\n\t);fflush(stdout);while (1){msbuf.mtype 2;fgets(msbuf.mtext,sizeof(msbuf.mtext),stdin);msbuf.mtext[strlen(msbuf.mtext)-1]\0;if(msgsnd(msqid,msbuf,sizeof(msbuf)-sizeof(long),0) -1){perror(msgsnd);return NULL;}//printf(线程%d:发送成功\n,getpid());printf(B\n\t);fflush(stdout);if (!strcmp(msbuf.mtext,quit)){system(clear);exit(0);}}pthread_exit(NULL); }//线程2函数 void *task2(void *arg) {int msqid *(int *)arg;struct msgbuf buf;ssize_t num 0;while (1){bzero(buf,sizeof(buf));if ((num msgrcv(msqid,buf,sizeof(buf.mtext),1,0))0){//perror(msgrcv);return NULL;}printf(\nA\n\t%s\n,buf.mtext);printf(B\n\t);fflush(stdout);if (!strcmp(buf.mtext,quit)){msgctl(msqid,IPC_RMID,NULL);system(clear);exit(0);}}pthread_exit(NULL); } int main(int argc, const char *argv[]) {key_t key ftok(./,0);if (key -1){perror(ftok);return -1;/* code */}umask(0);int msqid msgget(key,IPC_CREAT|0664);if (msqid -1){perror(msgget);return -1;}pthread_t tid1,tid2;if (pthread_create(tid1,NULL,task1,msqid) ! 0){printf(线程1创建失败\n);}if (pthread_create(tid2,NULL,task2,msqid) ! 0){printf(线程1创建失败\n);}pthread_join(tid1,NULL);pthread_join(tid2,NULL);return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025.9.27——1橙

普及- P2430 严酷的训练 题目描述的乱七八糟的,实际上就是一个简单的背包。

深入解析:Python实现蝗虫优化算法(Grasshopper Optimization Algorithm, GOA)(附完整代码)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

提升网站转化率西海岸新区城市建设局公示网站

1、Stream 概述 Java 8 引入了 Stream API,它是一种用于简化集合和数组操作的强大工具。Stream API 允许我们将集合或数组视为流,并在流上进行各种操作,如筛选、排序、聚合等。 Stream API 的核心概念是 Stream 流,它代表了一个数据流,其中包含了一系列的元素。这些元素…

知名网站定制报价网页前端设计包括哪些内容

一、计算机简介: 1、计算机系统组成:软件和硬件,二者紧密相关,缺一不可 1.1硬件:计算机系统的物质基础,软件的载体 1.1.1硬件系统:主机(中央处理器(CPU,一般CPU由计算器和…

哪个网站可以做设计赚钱汽车门户网站开发

前言 最近发现有挺多人喜欢径向基函数(Radial Basis Function,RBF)神经网络,其实它就是将RBF作为神经网络层间的一种连接方式而已。这里做一个简单的描述和找了个代码解读。 之前也写过一篇,不过排版不好看,可以戳这里跳转 国际惯例&#x…

在Java 12环境中配置和部署Apache Tomcat

在Linux系统中,远程服务器的文件夹可以通过多种协议进行挂载,如NFS、SSHFS、CIFS等。要使这个过程像一场有趣的旅行一样,我们会“打包”(准备必要的工具),“规划路线”(确定连接的细节),然后“出发”(执行挂…

android pdf框架-14,mupdf重排 - 详解

android pdf框架-14,mupdf重排 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

深入解析:UE5GAS GameAbility源码解析 CommitAbility

深入解析:UE5GAS GameAbility源码解析 CommitAbility2025-09-27 08:43 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; di…

详细介绍:基于物联网的智能衣柜系统的设计(论文+源码)

详细介绍:基于物联网的智能衣柜系统的设计(论文+源码)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

电子商务平台 网站 建设方式博达网站建设怎么建立下载

成员函数和成员变量是分开存储的 1. 非静态成员变量,属于类的一部分,sizeof(类名)的时候会包括进去 2. 静态成员变量,不属于类的一部分,不会影响类的大小 3. 成员函数,都不属于类的一部分 4. 空类大小为1B

上海做网站好的公司有哪些安卓优化大师旧版本

Acrobat Pro DC 2023是一款功能强大的PDF编辑和管理软件,它可以帮助用户在创建、编辑、转换和共享PDF文档方面达到前所未有的高度。这款软件提供了丰富的编辑功能,使用户能够轻松添加注释、高亮、下划线、插入文本等,自由地编辑PDF文档。除了…

确定Ceph集群中OSD组件与具体物理磁盘的关联

在Ceph分布式存储系统中,Object Storage Daemons(OSDs)是主要的存储守护进程,负责存储数据、数据复制、恢复、再平衡以及提供信息给集群的监控模块以便于其他组件的决策。为了维护数据的完整性和高可用性,Ceph自动…

深入解析:Jenkins+Tomcat持续集成教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

JavaScript加解密实践

加密算法设计 首先,我们选用对称加密,其中加密和解密使用同一把密钥。考虑到执行效率和实现复杂度,本例使用修改版的凯撒密码作为基础。凯撒密码是最简单的替换密码类型之一,通过将字母表中的每个字母移动固定数目…

维护一个网站难吗制作视频的网站软件

即时编译(Just-In-Time Compilation,JIT)是一种将程序在运行时动态地编译成机器代码的编译技术。相对于传统的静态编译,即时编译将编译过程延迟到程序执行的时候进行,而不是在程序执行之前。这种方法允许编译器根据程序…

手表网站建设策划新乡网站建设求职简历

直方图 何为直方图?没那么高大上,其实就是二维统计图。每个照片都是有像素点所组成,当然也是[0,255],直方图就是统计每个值所对应的像素点有几个。 直方图横坐标表示0-255这些像素点值;纵坐标表示对应像素点值的个数有…

重庆定制网站建设地址深圳松岗最新消息今天

https://vijos.org/p/1629 描述 八是个很有趣的数字啊。八发,八八爸爸,88拜拜。当然最有趣的还是8用二进制表示是1000。怎么样,有趣吧。当然题目和这些都没有关系。 某个人很无聊,他想找出[a,b]中能被8整除却不能被其他一些数整除…

Linux系统中使用df命令详解磁盘使用情况

df(disk free)是一款Linux系统中用于检查文件系统磁盘空间占用情况的命令行工具。通过这个命令,用户能够查看已挂载的磁盘分区的总空间、已使用空间、可用空间以及挂载点。以下是对 df命令功能的详细阐述。 基本用法…

读人形机器人24岗位替代

读人形机器人24岗位替代1. 评估失业风险 1.1. 人形机器人的兴起给全球社会带来了兴奋感和担忧 1.2. 机器具有无与伦比的机动性、灵活性和适应性,它们能够执行各行各业的复杂任务 1.3. 最容易受自动化影响的行业1.3.1.…

Palantir解密:从企业数字化能力构成说起,“本体”如何破解现代企业数据应用难题? - 指南

Palantir解密:从企业数字化能力构成说起,“本体”如何破解现代企业数据应用难题? - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…