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

北京企业网站设计报价网上购物哪个平台质量好又便宜

北京企业网站设计报价,网上购物哪个平台质量好又便宜,wordpress本地下载,wordpress删除页头页尾main 信号捕捉的操作 sigaction struct sigaction OS不允许信号处理方法进行嵌套:某一个信号正在被处理时,OS会自动block改信号,之后会自动恢复 同理,sigaction.sa_mask 为捕捉指定信号后临时屏蔽的表 pending什么时候清零&…

main

信号捕捉的操作

sigaction

struct sigaction

OS不允许信号处理方法进行嵌套:某一个信号正在被处理时,OS会自动block改信号,之后会自动恢复

同理,sigaction.sa_mask 为捕捉指定信号后临时屏蔽的表

pending什么时候清零:调用handler前就清零,否则不能判断handler期间是否收到指定signal

可重入函数

问题:

一个函数,被两个以上的执行流进入了--重入

出问题了--不可重入函数

没出问题--可重入函数

如何判断可/不可重入

有全部资源:不可重入

全是局部:可

大部分都不可

函数名后带_r:可

volatile

关键字(异变关键字)

防止优化,保证每次从内存读取改变量,保证内存可见性。

因为常用与修饰容易改变的变量,所以叫做异变关键字

// 易变关键字
volatile int flag = 0;void change(int signo) // 信号捕捉的执行流
{(void)signo;flag = 1;printf("change flag 0->1, getpid: %d\n", getpid());
}int main()
{printf("I am main process, pid is : %d\n", getpid());signal(2, change);while(!flag); // 主执行流--- flag我们没有做任何修改!printf("我是正常退出的!\n");
}

0没有优化

1-3优化

 

为什么优化后不会退出

register 直接把一变量放到寄存器,不用每次从内存读取

信号流改变flag,只改变内存flag,对寄存器没有影响

所有的关键字都是给编译器看的,

SIGCHLD

子进程退出时,会给父进程发送SIGCHLD信号

code

// #include <iostream>
#include <stdio.h>
#include <signal.h>
#include <unistd.h>// 易变关键字
volatile int flag = 0;void change(int signo) // 信号捕捉的执行流
{(void)signo;flag = 1;printf("change flag 0->1, getpid: %d\n", getpid());
}int main()
{printf("I am main process, pid is : %d\n", getpid());signal(2, change);while(!flag); // 主执行流--- flag我们没有做任何修改!printf("我是正常退出的!\n");
}// // printBLocklist
// void PirintBLock()
// {
//     sigset_t set, oset;
//     sigemptyset(&set);
//     sigemptyset(&oset);//     sigprocmask(SIG_BLOCK, &set, &oset);
//     std::cout << "block: ";
//     for (int signo = 31; signo > 0; signo--)
//     {
//         if (sigismember(&oset, signo))
//         {
//             std::cout << 1;
//         }
//         else
//         {
//             std::cout << 0;
//         }
//     }
//     std::cout << std::endl;
// }// void PrintPending()
// {
//     sigset_t pending;
//     ::sigpending(&pending);//     std::cout << "Pending: ";
//     for (int signo = 31; signo > 0; signo--)
//     {
//         if (sigismember(&pending, signo))
//         {
//             std::cout << 1;
//         }
//         else
//         {
//             std::cout << 0;
//         }
//     }
//     std::cout << std::endl;
// }// void handler(int signo)
// {
//     static int cnt = 0;
//     cnt++;
//     while (true)
//     {
//         std::cout << "get a sig: " << signo << ", cnt: " << cnt << std::endl;
//         // PirintBLock();
//         PrintPending();
//         sleep(1);
//         // break;
//     }
//     // exit(1);
// }// int main()
// {
//     struct sigaction act, oact;
//     act.sa_handler = handler;
//     sigemptyset(&act.sa_mask);
//     sigaddset(&act.sa_mask, 3);
//     sigaddset(&act.sa_mask, 4);
//     sigaddset(&act.sa_mask, 5);
//     sigaddset(&act.sa_mask, 6);
//     sigaddset(&act.sa_mask, 7);//     ::sigaction(2, &act, &oact);//     while (true)
//     {
//         // PirintBLock();
//         PrintPending();
//         pause();
//     }
// }

板书笔记:

http://www.hyszgw.com/news/61661.html

相关文章:

  • 赣州做网站优化网页认证
  • 用了wordpress的电商网站官网网站设计
  • 一个企业是如何做网站建设的如何制作企业网站的版式
  • 南京医院网站建设常平哪里有招计算机网站开发的
  • 网站代理运营工信部网站备案要求
  • 乐清建站公司哪家好长沙有什么好玩的地方
  • 网站规划设计书成都到西安防疫政策
  • 焦作市网站建设哪家好去哪学wordpress
  • 如何微信做演讲视频网站国外网站域名 中国
  • 智慧团建网站登录平台pc端十大免费自助建站
  • 网站备案变更主体电话合肥营销型网站建设开发
  • 中国建设报网站网站建设和考核工作通知
  • 变更备案网站可以访问吗怎么看网站是否做推广
  • 获取整个网站源码工具自己服务器做网站如何备案
  • 红色系列的网站优秀网页设计排版
  • 网站建设策划书总结网站游戏制作开发
  • openwrt做网站北京建设集团招聘信息网站
  • 网站建设设计风格描述山东网站建设xywlcn
  • 织梦网站首页打开慢网页浏览器软件
  • 石河子市住房和城乡建设局网站免费软件有版权吗
  • 口碑好的网站建设多少钱收录提交入口
  • 网站设计与建设报告php网站搭建
  • 做网站分页郑州网站设计报价表
  • 陵水专业网站建设国外优秀产品设计作品欣赏
  • 网站搭建网站做调查问卷赚钱的网站
  • dede 电商网站模板个人做网站报价
  • 西宁网站建设平台公司在线制作简历的平台
  • 如何做公司企业网站北京网站建设北京
  • 简单网站建设优化推广网站支付宝网上支付功能怎么做
  • 一级a做爰片在线看网站苏州教育学会网站建设