怎样在使用线程的时候不占用那么多系统资源? 不行 它说Application未标识! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加ProcessMessage没用的,都不是同一个线程,占这么多资源是因为它的无限循环。你的nRingTimes是在哪里定义的?MyThread里?可以这样做,为nRingTimes写一个事件。格式如下,比如你的nRingTimes是一个integer。MyThread = class(TThread)private FnRingTimes:integer; procedure RingTimeChange(nRingTimes:integer);public property nRingTimes:integer read FnRingTimes write RingTimeChange;end;procedure MyThread.RingTimeChange(nRingTimes:integer);Begin FnRingTimes :=nRingTimes;//OK,nRingTimes的值改变了//这里写入你想当nRingTimes改变的时候做些什么。end;当你执行 MyThread.nRingTimes=1的时候,程序就会执行RingTimeChange去作出反应。这样写其实不算完整的,主要是RingTimeChange的执得是在主线程中,而不是在MyThread所创建的线程里。如果你想RingTimeChange在MyThread里执行,我迟些再写代码。另外,你的写法其实可行的,不过写法有少少的不同。procedure MyThread.Execute();begin WHILE nRingTimes <> Default_RingNum DO begin //do something suspend; end;end;这样就行啦,当你改变nRingTimes的值之后,再加一句,Mythread.resume就OK啦。还有很多种方法处理你的情况,不过比较复杂,没必要用到。 while (not Terminated) and (nRingTimes <> Default_RingNum) do sleep(100); 控件 InputQuery显示中文乱码 cxGrid打印组件能实现页合计吗? Delphi开发的WebService,在Apache中调用的问题! 有几个简单的问题,想请教一下!!! 『串口通讯』熟悉MSComm控件的高手来帮帮忙!thx 祝CSDN上的难兄难弟们,过个好年,来年再战! 请问获得分辨率的函数是什麽?来者有分。等…… 如何修改里诺仓库管理系统? COM的伪指令问题? 为何用copyfile进行拷贝文件却拷贝不成功,这是为什么? 为什么在TQuery中参数总是不对?请教各位。
private
FnRingTimes:integer;
procedure RingTimeChange(nRingTimes:integer);
public
property nRingTimes:integer read FnRingTimes write RingTimeChange;
end;procedure MyThread.RingTimeChange(nRingTimes:integer);
Begin
FnRingTimes :=nRingTimes;
//OK,nRingTimes的值改变了
//这里写入你想当nRingTimes改变的时候做些什么。
end;当你执行 MyThread.nRingTimes=1的时候,程序就会执行RingTimeChange去作出反应。这样写其实不算完整的,主要是RingTimeChange的执得是在主线程中,而不是在MyThread所创建的线程里。如果你想RingTimeChange在MyThread里执行,我迟些再写代码。另外,你的写法其实可行的,不过写法有少少的不同。
procedure MyThread.Execute();
begin
WHILE nRingTimes <> Default_RingNum DO
begin
//do something
suspend;
end;
end;这样就行啦,当你改变nRingTimes的值之后,再加一句,Mythread.resume就OK啦。还有很多种方法处理你的情况,不过比较复杂,没必要用到。