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

网站相册优化淘宝关键词优化推广排名

网站相册优化,淘宝关键词优化推广排名,wordpress在本地打开,企业网站建设哪里做网站好1.4共享队列 1.4.1共享内存 内存映射:避免数据的反复读写拷贝,提高了效率。 内存管理单元MMU:将物理内存与虚拟内存之间架起映射关系 1.创建共享内存 int shmget(key_t key,size_t size,int shmflg); 2.建立共享内存…

1.4共享队列

1.4.1共享内存

        内存映射:避免数据的反复读写拷贝,提高了效率。

        内存管理单元MMU:将物理内存与虚拟内存之间架起映射关系


1.创建共享内存                       

int shmget(key_t key,size_t size,int shmflg);

2.建立共享内存和用户空间的映射关系void *shmat(int shmid,const void *shmaddr,int shmflg);

3.写数据

4.读数据
5.解除映射关系int shmdt(const void *shmaddr)
6.删除共享内存int shmctl(int shmid,int cmd,struct shmid_ds *buf)

int shmget(key_t key,size_t size,int shmflg);

功能:根据key值创建共享内存

参数:

        key:IPC的key值

key_t ftok(const char *pathname,int proj_id);

功能:获取一个IPC的key值

参数:

        pathname:路径

        proj_id:项目ID

返回值:

成功:key

失败:-1

        size:共享内存大小(向上取整到页大小的整数倍)4096 PAGE_SIZE

        shmflg:对对象内存的操作  IPC_CREAT | 0664

返回值:

        成功:返回共享内存的ID

        失败:-1

void *shmat(int shmid,const void *shmaddr,int shmflg);
功能:建立内存映射

参数:

        shmid:共享内存的ID

        shmaddr:映射的用户首地址(NULL让操作系统自己去找,返回空间首地址)

        shmflg:!SHM_RDONLY(可读可写)

返回值:

        成功:映射的用户空间首地址

        失败:NULL

int shmdt(const void *shmaddr)
功能:解除用户映射关系,释放用户空间

参数:

        shmaddr:映射的用户首地址(NULL让操作系统自己去找,返回空间首地址)

返回值:

        成功:0

        失败:-1

int shmctl(int shmid,int cmd,struct shmid_ds *buf)
功能:控制共享内存

参数:

        shmid:共享内存的ID

       cmd:IPC_RMID:删除

        buf:NULL不需要使用

返回值:

        成功:0

        失败:-1

指令:ipcs -a查看共享内存 的信息

           ipcrm -s 删除信号量集

           ipcrm -m 删除共享内存

1.5消息队列

获取一个IPC通信的key值key_t ftok(const char *pathname,int proj_id);
创建消息队列int msgget(key_t key,int msgflg);
发送消息int msgsnd(int msqid,void  *msgp,size_t msgsz,int msgflg);  
接受消息ssize_t msgrcv(int msqid,void *msgp,size_t msgsz,long msgtyp,int msgflg);
删除消息队列int msgctl(int msqid,int cmd,struct msqid_ds *buf);
key_t ftok(const char *pathname,int proj_id);
功能:获取ipc的key值

参数:

       pathname:路径

       proj_id:项目ID

返回值:

        成功:key

        失败:-1

int msgget(key_t key,int msgflg);
功能:根据key值创建一个消息队列

参数:

       key:ipc的key值

      msgflg:标志位   IPC_CREAT |0664

返回值:

        成功:消息队列的id号

        失败:-1

int msgsnd(int msqid,void  *msgp,size_t msgsz,int msgflg);  
功能:向消息队列中发送消息

参数:

       msqid:消息队列的ID

        msgp:要发送的消息的结构体首地址

                struct msgbu{

                        long mtype;

                        char mtext[msgsz];

                };

        msgsz:消息体中正文内容大小

        msgflg:标志位:默认0

struct msgbuf msg;

msg.mtype =(大于0的值);

fgets(msg.mtext,sizeof(msg.mtext),stdin);

msgsnd(msgid,&msg,sizeof(msg.mtext),0);

返回值:

        成功:0

        失败:-1

ssize_t msgrcv(int msqid,void *msgp,size_t msgsz,long msgtyp,int msgflg);
功能:从消息队列接受消息

参数:

        msqid:消息队列的ID

        msgp:要存放接收的消息的结构体首地址

                struct msgbu{

                        long mtype;

                        char mtext[msgsz];

                };

        msgsz:接受消息体中正文内容大小

        msgtyp:消息的类型

        msgflg:标志位:默认0

返回值:

        成功:消息队列的id号

        失败:-1

1.6信号灯

不同主机进程间通信:

1.7网络套接字

文件描述符

客户端:

        socket():创建网络套接字

        sendto():发送数据包

        recvfrom():接受数据包

        close():关闭套接字

int socket(int domain,int type,int protocol)
功能:创建一个通信套接字

参数:

domain:ip层协议族

        AF_INET  IP4

        AF_INET6  IP6

type:传输层使用的协议类型

        SOCK_DGRAM UDP

        SOCK_STREAM TCP

protocol:

        0按照默认协议返回值

返回值:

成功:返回套接字

失败:-1

size_t  sendto(int sockfd,const void *buf,sizeof_t len,int flags,const struct sockaddr *dest_addr,socklen_t addrlen);
功能:向通信套接字发送数据

参数:

sockfd:套接字

buf:要发送的数据的首地址

len:发送的数据的大小

flags:默认方式 0

dest_addr:保存接受方地址信息的指针

.sin_port = htons(50000)//

.sin_addr.s_adde =inet_addr("ip地址")//将地址转为un int  inet_ntoa(int 转char)

addrlen:接收方地址变量的大小

返回值:

成功:实际发送的字节数

失败:-1

服务端:

        socket()

        bind():绑定服务器当前主机的身份(IP+PORT)

        recvfrom():接收

        sendto():发送

        close():关闭

bind(int sockfd,const struct sockaddr *addr,socklen_t addrlen)
功能:绑定当前主机的ip和进程的端口

参数:

 sockfd:套接字

addr:自己信息的地址

addrlen:地址信息的大小

返回值:

成功:0

失败:-1

 ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,
                        struct sockaddr *src_addr, socklen_t *addrlen);
功能:从套接字接受数据

参数:

sockfd:套接字

buf:存储接收到的数据的位置的首地址

len:期待接收到的字节数

flags::默认方式:0
src_addr:送发地址信息的首地址

addrlen:送发方地址变量的大小

返回值:

成功:返回接收到的字节数

失败:-1

http://www.dtcms.com/wzjs/389814.html

相关文章:

  • 网站开发遇到的问题百度推广关键词排名在哪看
  • 网站开发文献资料福州网站建设团队
  • 电子商务网站规划搜索引擎优化的办法有哪些
  • 有什么软件可以做网站万网域名查询
  • 网站访客qq获取代码天津百度seo代理
  • 做视频链接的网站吗百度做网站
  • 宝坻网站建设怎么推广自己的产品
  • wordpress 后台 模板巩义网站推广优化
  • 360seo排名点击软件山东服务好的seo公司
  • 江西南昌电子商务网站建设公司常见的网络直接营销有哪些
  • 微信公众账号登录入口宁波seo外包公司
  • 网站怎么自己做推广淘宝seo软件
  • 设计好的建设专业网站搜索引擎营销的成功案例
  • 茌平网站建设菜谱制作个人网站设计成品
  • 如何编辑做网站长沙官网seo分析
  • 新乡网站建设公司黄页88推广多少钱一年
  • 网站运营做的是什么工作百度推广手机登录
  • 珠海品牌网站建设win7优化大师官方免费下载
  • 湘潭做网站公司选择封象网做网站公司谷歌seo服务商
  • 菏泽企业做网站英雄联盟更新公告最新
  • WordPress美图主题北京搜索优化排名公司
  • 用Html5做网站邀请注册推广赚钱的app
  • 网页设计作品欣赏网站友情链接软件
  • 企业做网站域名需要自己申请吗合肥seo排名扣费
  • 渝中集团网站建设浙江网络科技有限公司
  • 网站建设公司好做吗推广策略
  • 计算机it培训班seo网站优化专员
  • 网站按域名跳转不同的页面山西seo
  • 妇科医院手机网站今日头条郑州头条新闻
  • 婚庆公司网站php源码推广营销是什么