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

购物国外网站的建立烟台专业做网站的公司

购物国外网站的建立,烟台专业做网站的公司,网站建设外包项目,白酒网站定制开发一、信号信号是操作系统提供的一种进程/线程同步机制常用信号管理员信号:只能按照默认方式处理,不能够被忽略和捕获9) SIGKILL19)SIGSTOP信号处理方式缺省:按照默认处理方式处理忽略:不处理捕获:以自定义方式处理signa…
  • 一、信号
    • 信号是操作系统提供的一种进程/线程同步机制
    • 常用信号

  • 管理员信号:只能按照默认方式处理,不能够被忽略和捕获
    • 9) SIGKILL
    • 19)SIGSTOP
  • 信号处理方式
    • 缺省:按照默认处理方式处理
    • 忽略:不处理
    • 捕获:以自定义方式处理
  • signal:注册一个信号
  • #include <signal.h>
  • typedef void (*sighandler_t)(int);
  • sighandler_t signal(int signum, sighandler_t handler);
    • 功能:设置信号的处理方式(注册一个信号)
    • 参数:
      • signum:要处理的信号的编号;
      • handler:
        • SIGIGN:以忽略方式处理该信号(不处理)
        • SIG_DFL:以缺省方式处理(系统默认方式)
        • 函数的地址:以捕获方式处理(自定义)
    • 返回值:失败:NULL;自定义方式:返回自定义的函数入口地址
  • void (*sighandler_t)(int signum);
    • sighandller_t:执行信号任务处理函数的入口
    • 参数:signum:触发该任务函数的信号

  • 注意:
    • 若信号不被注册,则按照默认方式处理
    • 信号只需注册一次即可;
    • 每次信号的到来都会触发一次信号任务处理函数;
    • 信号尽可能早注册
  • 发送命令
    • kill命令
    • 函数kill()
      • int kill(pid_t pid, int sig);
      • 功能:给指定的进程发送一个信号
      • 参数:pid:接收信号的进程PID;sig:信号的编号
      • 返回值:成功:0;失败:-1
    • 子进程结束时,会发送SIGCHLD信号给父进程(子进程空间异步回收:通过子进程发送的SIGCHLD信号实现)
    • int raise(int sig),给自己所在的进程发送信号
    • unsigned int alarm(unsigned int seconds)
      • 功能:设置一个闹钟,当闹钟时间到达时,向自己所在的进程发送一个SIGALRM的信号
      • 参数:seconds:设置的闹钟的定时时间
      • 返回值:成功返回上次设定剩余的时间;上次未设定则返回0
    • pause();
      • 功能:让一个进程挂起(进入到睡眠状态)
      • 注意:pause可以被一个信号唤醒;这个信号必须要被捕获
  • 二、共享内存
    • 进程间效率最高的通信方式
    • 通信原理
      • 内核创建共享内存区域
      • 进程将共享内存映射到自己的地址空间
      • 进程通过指针直接访问共享内存
    • 核心特点
      • 零拷贝​:数据不需要在内核和用户空间之间复制
      • 直接访问​:进程可以直接读写内存区域
      • 高速通信​:比管道、消息队列等快一个数量级
      • 需要同步​:必须配合同步机制使用(信号量IPC)
    • 操作流程
      • 创建一个IPC key
        • key_t ftok(const char *pathname, int proj_id)
          • 功能:创建一个IPC key
          • 参数:pathname:路径;proj_id:工程ID
            • 注意:两个进程在创建key时必须使用相同的参数
          • 返回值:成功:IPCkey;失败:-1
      • 创建共享内存
        • int shmget(key_t key, size_t size, int shmflg)
          • 功能:创建一个共享内存
          • 参数:key:IPC key;size:共享内存大小,会被扩展成PAGE_SIZE的整数倍;shmflg::IPC_CREAT|0664
          • 返回值:成功:共享内存的ID;失败:-1
      • 建立共享内存段和用户空间的内存映射
        • void *shmat(int shmid, const void *shmaddr, int shmflg)
          • 功能:建立共享内存内存映射
          • 参数:shmid:共享内存id;shmaddr:映射的用户空间首地址;NULL:让操作系统分配;shmflg:
          • SHM_RDONLY:只读
          • !SHM_RDONLY:可读可写
          • 返回值:成功:映射的用户空间首地址;失败:(void*)-1
      • 向共享内存写入数据--->通过用户空间的首地址
      • 解除映射关系
        • int shmdt(const void *shmaddr)
          • 功能:解除内存映射关系
          • 参数:shmaddr:要解除的用户空间首地址
          • 返回值:成功:0;失败:-1
      • 删除共享内存
        • int shmctl(int shmid, int cmd, struct shmid_ds *buf);
          • 功能:操作共享内存
          • 参数:shmid:要操作的共享内存id;cmd:要执行的操作指令(IPC_RMID:删除操作);buf:设置的参数
          • 返回值:成功:0;失败:-1
  • 消息队列
    • 和管道相似,有同步效果
    • 增加数据的优先级(优先级数越小,优先级越高)
  • 信号量集:进程间通信
    • 实现进程间同步
http://www.dtcms.com/a/580216.html

相关文章:

  • 如何与别的网站做友情链接手机网站大全观看
  • 网站建设 事项制作网站的模板免费下载
  • 英文案例网站健康中国app下载
  • 全球购物网站排名网站如何做淘宝支付宝
  • 网站设计面试问题黑龙江采购网
  • 网站建设宣传海报海南省人才在线
  • 上海配资网站开发比较好的做外贸网站
  • 凤楼网站怎么做的html5网站设计工作室源码
  • 湘潭网站建设优等磐石网络网站建设论文模板
  • 建设工程监理 精品课网站外贸网站空间选择
  • 免费的网站开发工具网站挂标 怎么做
  • 科技工作室网站模板网站建设都需要什么资料
  • 农业科技公司网站建设网站缺点
  • 俄罗斯国际空间站微信卖水果链接网站怎么做的
  • 怎么建立一个网站开展业务直播开放平台是什么意思
  • 怎么样黑进网站后台网页美工设计书本
  • 做威士忌的网站做蛋糕视频教学网站
  • 企业网站推广费用绍兴网站建设哪家好
  • 建网站新科网站建设建网站多少
  • 外贸网站建站平台cms做门户网站
  • 西安建公司网站卖货平台有哪些
  • 网站开发开账务处理电子产品网站建设策划方案
  • 不懂英文怎么做英文的seo网站wordpress 商业版权
  • 重庆网站建设营销七牛图床 wordpress
  • 福州网站建设 找燕狂徒 05品牌设计师需要具备什么能力
  • 网站seo链接购买广告网络营销策略
  • 建设高端网站中森网站建设公司
  • 网站开发税收标准中小型互联网企业有哪些
  • 爱网站查询做公司企业网站
  • 贵州城乡建设厅施工员报名网站地方做什么网站