当前位置:主页>仓库管理软件> 列表

急死了,线程问题:大家帮一下忙,谢谢了!!! 找服装店记账软件

销售管理软件版1楼: 我需要Create一个线程, 线程负责不断处理目录文件,目录文件随时会有,要线程不断检测,
直到人为关闭线程。我现在如下处理:
procedure TDataThread.Execute;
begin
{ Place thread code here }
while (not Terminated) or (not Suspended) do
begin
ProcessData; // 处理代码
end;
end;

问题是: 线程一开,cpu就100%了。有什么方法解决不?

2楼: 在线等待高手啊 如财务管理软件

3楼: while (not Terminated) or (not Suspended) do
begin
ProcessData; // 处理代码
sleep(1000);
end;
另外把线程的级别设低一些

4楼: sleep(1000); cpu明显降低了,但是有时程序就不动了,死了一样

5楼: 添个
Applicaiton.ProcessMessages;

6楼: 另外把线程的级别设低一些

销售管理软件版7楼: sleep(5) 把数设小点试试

8楼: 是在关闭应用程序的时候,就死了!

9楼: 应该是关闭不了线程,调用 Terminate 就死了

10楼: 先挂起再终止

11楼: 感谢 weichao9999:
问题查出是 Free 线程就死了,请问如何解决!

12楼: 问题找到:
while (not Terminated) or (not Suspended) do
改为
while not Terminated and not Suspended do 如服装店记账软件