我对线程不是太了解,先说明一下我的用途:
程序中有三个线程,可能会同一时间运行,我现在是这样写的
function tmyabc():string;stdeall;
...function tmyhhh():string:stdeall;
...function tmyaaa(sql:string):string:stdeall;
...调用:
var
htabc:thandle;
threadid:dword;
sql:string;
begin
try
thabc:=createthread(nil,0,@tmyabc,sql,0,threadid);
if thabc=0 then
showmessage('没有线程');
finally
closehandle(thabc);
end;
end;
三个方法基本上是一样的,现在出现异常出错,不能同步?这样的错误提示!!
能告诉我该怎么办吗???很急!!
程序中有三个线程,可能会同一时间运行,我现在是这样写的
function tmyabc():string;stdeall;
...function tmyhhh():string:stdeall;
...function tmyaaa(sql:string):string:stdeall;
...调用:
var
htabc:thandle;
threadid:dword;
sql:string;
begin
try
thabc:=createthread(nil,0,@tmyabc,sql,0,threadid);
if thabc=0 then
showmessage('没有线程');
finally
closehandle(thabc);
end;
end;
三个方法基本上是一样的,现在出现异常出错,不能同步?这样的错误提示!!
能告诉我该怎么办吗???很急!!
如果是不能同步訪問公共變量出錯, 可用 Synchronize 或其它 信號量 之類來保證同步不出錯!!
“Canvas does not allow drawing”
"access violation at 0x00d1cc14: write of address 0xff2e3353"
"在对应所需名称或序数的集合中,未找到项目"
按顺序出错
请给源码行吗
tmyaaa中是一个数据库处理,一运行,CPU基本上是100%