使用线程初始化某工作的思路

  这几天接手代码之后,添加了柳氏风格的LOG。昨天检查LOG的时候,发现有的设备会初始化多次。于是研究了代码,使用的是线程初始化,如果中途断线还要一直初始化。仔细想想,这个思路有点问题。怎样确保当前只有一个初始化的工作?

  经过深入思考:

  • 设计一个结构体,包括工作指针和一个时间。
  • 指针初始化为NULL,时间初始化为0。
  • 初始化之前,把时间设置为1。
  • 使用线程初始化。把这个结构体传进去。
  • 初始化成功,指针指向工作;初始化失败,指针为NULL。
  • 时间设置为当前。
  • 检查:

指针不为NULL,表示初始化成功,且状态正常;

指针为NULL,时间为1,正在初始化;

指针为NULL,时间大于1,指定间隔后再次初始化。

相关推荐

  1. 使用线初始化工作思路

    2024-01-11 09:54:02       37 阅读
  2. 线使用

    2024-01-11 09:54:02       20 阅读
  3. 线使用

    2024-01-11 09:54:02       37 阅读
  4. QTcpSocket 对象工作线

    2024-01-11 09:54:02       24 阅读
  5. 【Python】线和多线使用

    2024-01-11 09:54:02       41 阅读
  6. 20240425-线基础-线使用(一)

    2024-01-11 09:54:02       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-11 09:54:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-11 09:54:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-11 09:54:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-11 09:54:02       20 阅读

热门阅读

  1. Mybatis xml中排序(order by)条件用#{}查询失败

    2024-01-11 09:54:02       30 阅读
  2. 【键盘记录器】

    2024-01-11 09:54:02       36 阅读
  3. ThinkPHP6 自定义Excel导出

    2024-01-11 09:54:02       36 阅读
  4. Halcon用共生矩阵计算灰度值特征cooc_feature_matrix

    2024-01-11 09:54:02       37 阅读
  5. 【Kafka每日一问】Kafka重平衡逻辑是什么样的?

    2024-01-11 09:54:02       37 阅读
  6. 宝藏项目记录

    2024-01-11 09:54:02       40 阅读
  7. C语言中各数据类型的大小

    2024-01-11 09:54:02       99 阅读
  8. Qt元对象系统Meta-Object System

    2024-01-11 09:54:02       39 阅读