记一次C++线程函数使用标志位的经历

来源:互联网 发布:淘宝设计属于什么行业 编辑:程序博客网 时间:2024/06/05 18:41

在开发程序过程中,免不了或多或少的使用标志位去方便自己控制程序,但是在使用标志位的过程中要时刻保持头脑清醒,自己设置的flag,跑到哪一步,都必须了解该flag的情况,不然痛苦的就如吃了xiang一样。

当时记得该献策和那个程序是在一个回调函数中使用,记录一秒钟之内所干的事情,一秒打印一次,可是最后由于脑子。。。导致标志位设置出错,故记录一次。惊醒之。。

 bool create_thread_flag = false; //创建线程flag bool packet_size_sum_flag = false;//计算某个值的flag int m_count = 120;//定时器 pthread_t id_1=NULL; int  ret;  void* m_thread(void * arg) { usleep(1000*1000); packet_size_sum_flag = true; create_thread_flag = false; pthread_exit(0); }fun_callback(){if(!create_thread_flag)  {  create_thread_flag = true;  ret = pthread_create(&id_1, NULL, m_thread, NULL);  }  if (packet_size_sum_flag)  {               //一秒所干的事情,                packet_size_sum_flag = false;                //计数器所做得事情 if (m_count == 120) {.... } if (m_count == 90) {.... } if (m_count == 60) {.... } if (m_count == 30) {....  } m_count--;  }  else  {  //一秒内所干的事情  }}  



原创粉丝点击