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

在开发程序过程中,免不了或多或少的使用标志位去方便自己控制程序,但是在使用标志位的过程中要时刻保持头脑清醒,自己设置的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
  	{
  		//一秒内所干的事情
  	}
	
}	
	
  	



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值