亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第10天 C氣象數據中心 13-12 線程池的監控

標簽:
C++
  • 课程信息

课程名称:C/C++气象数据中心实战,手把手教你做工业级项目

课程章节:13-11 线程池的实现

主讲老师: 吴从周

  • 课程内容

线程池的监控

进程程序:守护进程+调度进程+心跳机制;
线程程序:守护(监控)线程+心跳机制;
使用守护线程检查工作线程的心跳时间,如果超时,先取消再启动。

  • 课程收获
    稳定性的问题需要考虑到,虽然现在线程总线的 工作量不大,在实际使用过程中不容易出现程序挂死的现象,但是我们需要未雨绸缪,考虑到后续的吞吐量过大后,流程和功能更加复杂之后,就不一定会出现问题,所以需要加入线程监控。

1.在服务总线的服务端程序中加入线程的心跳信息。
图片描述

gettimeofdate(&now ,NULL);取当前时间放入now中

struct timeval now;gettimeofday (&now, NULL);//获取当前时间。
now. tv_sec=now.tv_sec+20;//取20秒之后的时间。
pthread_cond_timedwait (&cond, &mutex, (struct timespec*)&now);//等待条件被触发。 超时就返回。

2.监控线程

定义一个死循环,每隔3s左右检查一次,再套一个循环去遍历工作线程ID的容器,工作线程的超时时间为20s ,采用20以上的时间判断超时即可。
注意,建立监控线程之后,需要在线程退出子函数中增加取消监控线程的子代码。

图片描述

图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消