代码:
constructor TCutThread.Create()
begin
inherited create(false);
end;procedure TCutThread.Execute;
begin
inherited;
//程序实现部分
end;
调用线程部分
setlength(FaceCutThread,Face_CutRegionNum);//FaceCutThread为线程数组
for i:=0 to Face_CutRegionNum-1 do
begin
FaceCutThread[i]:=TCutThread.Create();
FaceCutThread[i].FreeOnTerminate:=false;
end;
for i:=low(FaceCutThread) to high(FaceCutThread) do
begin
FaceCutThread[i].waitfor; //等待所有线程运行完毕
FaceCutThread[i].free; //释放
end;
1:为何程序执行线程的Execute有时候会出错而有时有对呢,而且相同的数据有时对有时错。2:我单步执行时发现是顺序执行的,不像是多线程执行的啊,怎么回事?怎么解决呢?怎么解释上面两个问题?怎么解决上面两个问题?望高人回答...........
constructor TCutThread.Create()
begin
inherited create(false);
end;procedure TCutThread.Execute;
begin
inherited;
//程序实现部分
end;
调用线程部分
setlength(FaceCutThread,Face_CutRegionNum);//FaceCutThread为线程数组
for i:=0 to Face_CutRegionNum-1 do
begin
FaceCutThread[i]:=TCutThread.Create();
FaceCutThread[i].FreeOnTerminate:=false;
end;
for i:=low(FaceCutThread) to high(FaceCutThread) do
begin
FaceCutThread[i].waitfor; //等待所有线程运行完毕
FaceCutThread[i].free; //释放
end;
1:为何程序执行线程的Execute有时候会出错而有时有对呢,而且相同的数据有时对有时错。2:我单步执行时发现是顺序执行的,不像是多线程执行的啊,怎么回事?怎么解决呢?怎么解释上面两个问题?怎么解决上面两个问题?望高人回答...........
解决方案 »
- 高分求delphi 6.0下载地址 (要确实可下)
- Field frm_sales_out.editprice does not have a corresponding component.Remove the declaration?
- 如何创建一个文件夹?
- 哪里可以下载Delphi关于COM技术方面的资料(书)
- Edit1.text as Button1
- 关于关闭子窗口
- 有谁知道PHOTOSHOP,FLASH这些软件是用什么工具开发的?
- 请教spcomm串口如何做一问一答呢?
- 怎样在IMAGE中居中显示图像
- 如何调用ODBC的API?
- 请问在RAVE报表中怎么改变报表的标题?
- 菜鸟的问题,请问怎样更改RAVE报表的标题?
你可以用postmessage 发个消息在exceute 中
还可用
共享内存
SOCKET
等方法