多线程调用同一个函数(一个全局函数,不是对象的函数),函数内部的局部变量会不会受到影响?比如:procedure test(filename:string);
var
i:integer;
sl:tstringlist;
begin
i:=0;
sl:=tstringlist.create;
randomize;
for i:=1 to 10000 do
begin
sl.add(inttostr(i));
sleep(random(100));
end;
sl.savetofile(filename);
sl.free;
end;当2个线程调用这个函数的时候,如果传入不同文件名,到执行完后,分别看两个文件,各自显示的是不是从1到10000连续递增的数??
var
i:integer;
sl:tstringlist;
begin
i:=0;
sl:=tstringlist.create;
randomize;
for i:=1 to 10000 do
begin
sl.add(inttostr(i));
sleep(random(100));
end;
sl.savetofile(filename);
sl.free;
end;当2个线程调用这个函数的时候,如果传入不同文件名,到执行完后,分别看两个文件,各自显示的是不是从1到10000连续递增的数??
只有局部变量),但是却是在不同的数据空间中运行的。