过180s,让线程继续运动用settimer如何实现
过180s,让线程继续运动用settimer怎么实现
比如有线程X,需要发送A,B,C,D。按顺序发完这四条指令,算这件事完成了一遍(只能依次发送ABCD)。
现在要完成这件事10遍,而且B发送完,过180秒才能发送C,在这180秒内可以发送A。不能sleep。
如果用settimer,等时间到了,killTimer,这样就需要10个Timer,这样是不是效率很低?这个方法合理吗?
写过类似功能的高手,给点意见吧,谢谢
------解决方案--------------------
过180秒就发个消息,怎么做效率也不会低吧
------解决方案--------------------
10个Timer?一个就够了啊
------解决方案--------------------
就是在你
OnTimer函数中处理
switch(flag) //状态
{
case 1:
SendA();
flag = 2;
break;
case 2:
SendB();
flag = 3;
break;
case 3:
SendC();
flag = 4;
break;
default:
break;
}
这样你只要设置1个SetTimer就可以了,到最后一个状态KillTimer就可以了啊
比如有线程X,需要发送A,B,C,D。按顺序发完这四条指令,算这件事完成了一遍(只能依次发送ABCD)。
现在要完成这件事10遍,而且B发送完,过180秒才能发送C,在这180秒内可以发送A。不能sleep。
如果用settimer,等时间到了,killTimer,这样就需要10个Timer,这样是不是效率很低?这个方法合理吗?
写过类似功能的高手,给点意见吧,谢谢
------解决方案--------------------
过180秒就发个消息,怎么做效率也不会低吧
------解决方案--------------------
10个Timer?一个就够了啊
------解决方案--------------------
就是在你
OnTimer函数中处理
switch(flag) //状态
{
case 1:
SendA();
flag = 2;
break;
case 2:
SendB();
flag = 3;
break;
case 3:
SendC();
flag = 4;
break;
default:
break;
}
这样你只要设置1个SetTimer就可以了,到最后一个状态KillTimer就可以了啊