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

网站建设与制作德州世界500强企业排名2024最新名单

网站建设与制作德州,世界500强企业排名2024最新名单,宁波高端网站建设推广,穿越yin线的做网站问题 如何编写信号安全的应用程序#xff1f; Linux 应用程序安全性讨论 场景一#xff1a;不需要处理信号 应用程序实现单一功能#xff0c;不需要关注信号 如#xff1a;数据处理程序#xff0c;文件加密程序#xff0c;科学计算程序 场景二#xff1a;需要处理信…问题 如何编写信号安全的应用程序 Linux 应用程序安全性讨论 场景一不需要处理信号 应用程序实现单一功能不需要关注信号 如数据处理程序文件加密程序科学计算程序 场景二需要处理信号 应用程序长时间运行需要关注信号并即使处理 如服务端程序上位机程序 场景一不需要信号处理 (单一功能应用程序) 场景二需要处理信号 (长时间运行的应用) 同步方案 通过标记同步处理信号整个应用中只有一个执行流 异步方案 专用任务处理应用中存在多个执行流 (多线程应用)设置专用信号处理任务其它任务忽略信号专注功能实现 同步解决方案 (单任务) 信号处理逻辑与程序逻辑位于同一个上下文 即信号处理函数和主函数不存在资源竞争关系 方案设计一 将任务分解为子任务(每个任务可对应一个函数)信号递达时信号处理函数中仅标记递达状态子任务处理结束后真正执行信号处理 同步方案示例一 存在的问题 由于给每个信号唯一的标记位置因此所有信号转变为不可靠信号并且仅保留最近递达的信号信息 方案设计二 将任务分解为子任务 (每个任务可对应一个函数) 创建信号文件描述符并阻塞所有信号 (可靠信号递达前位于内核队列中)子任务处理结束后通过 select 机制判断是否有信号需要处理 true 处理信号  false 等待超时 关键系统函数 #include sys/select.h #include sys/signalfd.h int signalfd(int fd, const sigset_t* mask, int flag); int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, struct timeval* timeout); 使用 signalfd() 处理信号 先屏蔽所有信号 (无法递达进程)之后为屏蔽信号创建文件描述符当时机成熟通过 read() 系统调用读取未决信号 (主动接收信号) 使用 select() 监听文件描述符 使用 select() 处理信号 存在的问题 由于使用了 select 机制即便没有信号需要处理也需要等待 select 超时任务实时性受到影响 异步解决方案 (多任务) 使用独立任务处理信号程序逻辑在其他任务中执行 即通过多线程分离信号处理与程序逻辑 主线程专用于信号处理其他线程完成程序功能 多线程信号处理 信号的发送目标是进程而不是某个特定的线程 发送给进程的信号仅递送给一个进程 内核从不会阻塞目标信号的线程中随机选择 每个线程拥有独立的信号屏蔽掩码 异步解决方案 (多任务) 主线程对目标信号设置信号处理的方式 当信号递达进程时只可能时主线程进行信号处理 其他线程首先屏蔽所有可能的信号之后执行任务代码 无法接收到信号不具备信号处理能力 进程与线程 进程应用程序的一次加载执行 (系统执行资源分配的基本单位) 线程进程中的程序执行流 一个进程中可以存在多个线程 (至少存在一个线程)每个线程执行不同的任务 (多个线程可并行执行)同一个进程中的多个线程共享进程的系统资源 Linux 多线程 API 函数 头文件#includepthread.h 线程创建函数int pthread_create(pthread_t* thread, const pthread_attr_t* attr, void* (*start_routine)(void*), void* arg); threadpthread_t 变量的地址用于返回线程标识attr线程的属性可设置为 NULL即使用默认属性start_routine线程入口函数arg线程入口函数参数 线程标识 pthread_t pthread_self(void);获取当前线程的 ID 标识 线程等待 int pthread_join(pthread_t thread, void** retval);等待目标线程执行结束 多线程编程示例 异步方案示例 -- 主线程 异步方案示例 -- 任务线程 信号设计模式小结 多数模式不需要处理信号因此可直接屏蔽信号 需要处理信号的程序重点考虑信号安全性问题 同步处理方案通过设计让任务代码和信号处理代码交替执行 问题信号处理是否及时任务执行是否实时异步处理方案任务代码与信号处理代码位于不同执行流 问题将信号安全性问题转换为线程安全性问题因此程序本身是否能做到线程安全
http://www.w-s-a.com/news/841838/

相关文章:

  • 金华官方网站建设网络营销策划模板
  • 网站开发到上线在线生成小程序
  • 动易网站设计方案郑州营销网站建设
  • 怎么上网站做简易注销的步骤郑州大学现代远程教育《网页设计与网站建设》课程考核要求
  • 新乡网站建设新乡长沙本地论坛有哪些
  • 潍坊中企动力做的网站怎么样wordpress接入微博
  • 网站开发者所有权归属网站项目建设的必要性
  • 菜鸟网站编程广州网站设计权威乐云践新
  • 网站做接口到app 价格大地资源免费视频观看
  • 怎么给钓鱼网站做防红网站建设相关的
  • 教育培训的网站建设湖南网站建设小公司
  • 福建南平网站建设创意交易平台网
  • 做直播网站要哪些技术内容营销理论
  • 价格划算的网站开发怎么找有赞做网站
  • 做网站店铺图片用什么软件网络营销方案格式
  • 做外贸要自己建网站吗有效的网络营销方式
  • 精通网站开发书籍做网站获取手机号码
  • 论坛做视频网站有哪些济南新站seo外包
  • 哪类型网站容易做冷水滩做微网站
  • 搭建企业网站流程保定徐水网站建设
  • 建设单位到江川区住房和城乡建设局网站伦敦 wordpress 设计
  • 响应式网站的服务麦德龙网站建设目标
  • 做国外单的网站叫什么海南省海口市网站建设
  • 杭州响应式网站案例wordpress5.2.2
  • 网站建设运营维护合同wordpress资源搜索插件
  • 国外网站流量查询东莞网站建设教程
  • 餐饮类网站建设达到的作用东莞工程建设交易中心网
  • 网站设计 知识产权湖北网站建设xiduyun
  • 猫咪网站模版下载中国风 古典 红色 网站源代码
  • 个人网站备案模板制作网站首页