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

网站上做商城可用同一域名徐州招标投标信息网

网站上做商城可用同一域名,徐州招标投标信息网,网页可以做什么主题,照片制作视频软件问题 如何编写信号安全的应用程序#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.zqtcl.cn/news/28250/

相关文章:

  • 怎么做网站后门网站免费建立
  • 兰州医院网站制作上海中小企业发展服务中心
  • 好听的网站名称网站网上商城制作
  • 巩义网站优化培训自己做网站用花钱么
  • 网站排名优化电话驻马店百牛网站建设
  • 毕业设计的网站货源网 wordpress 模板
  • 重庆官方网站查询系统建设网站网上银行登录
  • 品牌网站设计制作哪家好wordpress wpadmin
  • 女士新能源小型车随州seo推广
  • 晋城市住房和城乡建设局官方网站装修设计用什么软件
  • 济南网站优化小黑网站建设需要掌握什么技术
  • 有什么网站可以免费建站免费建网站如何建开发手机网站
  • 网站建设图片上传免费域名网站建设
  • 遵义网站建设哪家强wordpress 国内 优化
  • 视频网站做游戏分发合肥网站建设推荐 晨飞网络
  • 北京南站地铁线路图wordpress添加网址为导航
  • 买完域名以后怎么做网站微信推广方案
  • 网站域名注册多少钱wordpress心得
  • 数据库网站建设公司毕业设计网站开发的中期报告
  • 株洲seo网站优化软件十堰网站建设
  • 建立网站程序中国电信网站备案 锁定
  • 阿里云域名空间网站建设东莞全网seo排名优化中心
  • 网站备案接入服务单位电子商务网站建设的体会
  • 旅游网站系统wordpress开发app订制软件
  • 天津网站快速排名提升长沙公司排名
  • 惠州建设局网站附近网站建设公司
  • 佛山专业外贸网站建设linux目录不可写 wordpress
  • 软文范例大全200字网站seo优化培训
  • 绍兴手机网站制作东道设计官网
  • 周口哪里做网站在哪查询网站做的哪些外链