使用线程初始化某工作的思路
发布时间:2024年01月11日
这几天接手代码之后,添加了柳氏风格的LOG。昨天检查LOG的时候,发现有的设备会初始化多次。于是研究了代码,使用的是线程初始化,如果中途断线还要一直初始化。仔细想想,这个思路有点问题。怎样确保当前只有一个初始化的工作?
经过深入思考:
- 设计一个结构体,包括工作指针和一个时间。
- 指针初始化为NULL,时间初始化为0。
- 初始化之前,把时间设置为1。
- 使用线程初始化。把这个结构体传进去。
- 初始化成功,指针指向工作;初始化失败,指针为NULL。
- 时间设置为当前。
- 检查:
指针不为NULL,表示初始化成功,且状态正常;
指针为NULL,时间为1,正在初始化;
指针为NULL,时间大于1,指定间隔后再次初始化。
文章来源:https://blog.csdn.net/quantum7/article/details/135517675
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!