问题:
目前程序是,有一个线程实时不断的处理外部来的数据,另一个线程将处理后数据封装组包后发送(主要功能是数据累加),但是发送时间有要求,每隔50s,和每隔10分钟(例如不断读取本地时间0分,10、20、30........分)
目前想到的只有线程一被调用就立即读取本地时间
//数据累加处理代码
...
if(检测整分的是否完成)
{
//发送整分该发送的数据
...
}
else
{
// 发送要求 50s发送一次的
...
sleep(50);
}
但这样的问题,sleep会一直阻塞这个线程,导致该线程数据累加不运行。
请问大虾们,有没有什么好的方法来解决,类似于单片机中断那样,时间到设个标志位,然后去运行该运行的程序