有没有脉冲动作的循环体?
因为多个线程用do{...}while();
等待的时候实在太耗资源了。
BCB里有没有像VB那样的在do...while循环里
不要占用尽CPU,可以腾出点时间做别的事情。
例如:
VB在这种循环体里加入doeven()就可以了。
BCB有没有这种语句?
谢谢了。
如果用timer请告诉我ontimer里怎么把得到的结果传回来。
而且在调用的地方必须等到参数被返回的时候才可以继续执行下去?
问题点数:20、回复次数:4Top
1 楼millet(小米)回复于 2001-04-12 20:22:00 得分 10
循环内加入Application->ProcessMessages(); 即可。
Top
2 楼sundayboys(sunboy)回复于 2001-04-12 20:29:00 得分 3
同意楼上的Top
3 楼gongjin21(¥)回复于 2001-04-12 20:39:00 得分 7
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int x, y;
for (int i = 0; i < 64000; i++)
{
Randomize();
for (int j = 0; j < 64000; j++)
{
y = random(j);
Application->ProcessMessages(); //就是这句搞定
}
x = random(i);
}
Canvas->TextOut(10, 10, "The Button2Click handler is finished");
}
Top
4 楼nethunter(路人·过客·我)回复于 2001-04-12 21:00:00 得分 0
但从CPU的占用率看来,CPU还是被全部占用的啊?
我等待的消息不需要不间断去查询的。
所以在do{...}while()里用Sleep会不会有线程安全的问题?Top




