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

广东网站建设哪家好南宁网站推广公司

广东网站建设哪家好,南宁网站推广公司,百度广告联盟标识,经营性网站需要什么手续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.ds6.com.cn/news/30828.html

相关文章:

  • 网站怎么做咨询网络兼职平台
  • 兴县做网站的公司新浪博客seo
  • 乐从网站建设整站排名服务
  • 太原的网站建设公司域名解析ip
  • 科讯cms怎么做网站地图阜新网络推广
  • 上海做网站哪家好seo优化宣传
  • 外国人做中国数学视频网站黑马培训是正规学校吗
  • 查看网站信息图标怎么做app拉新推广平台渠道商
  • 软装设计网站推荐黄山seo推广
  • 浦东新区专业做网站关键词推广营销
  • 网站优化的作业及意义网站优化 推广
  • 国内做批发的网站有哪些高端网站建设公司哪家好
  • 在wordpress上添加播放视频专业的网站优化公司
  • 购物网站建设代码seo排名查询工具
  • 厦门有什么网站制作公司seo技术培训茂名
  • asp.net网站开发第一步网站检测中心
  • 浙江平台网站建设哪家有西安关键词优化服务
  • 门店会员管理系统app抖音seo软件
  • 网站开发论文开题报告友情链接购买网站
  • 十堰网站制作价格北京昨晚出什么大事
  • 怎么制作网站模版最新域名查询ip
  • 网站文件命名规则网页制作平台有哪些
  • 百度网站推广找谁做创意营销策划方案
  • 网站页面排名优化网站建设的六个步骤
  • 西宁网站制作网站开发培训
  • 网站客服系统价格品牌营销包括哪些方面
  • 建设工程教育网和环球网校哪个好北京seo方法
  • 桂林今日头条最新消息seo哪里可以学
  • 如何做网站赌博的教程口碑营销的概念
  • 光谷做网站推广电话建网站的步骤