我有5个线程中有可能同时执行下面的代码
就是用FindFirst,FindNext查找某个目录里的文件然后读到
EmailList的TStrings里面,然后删除文件。
由于是在线程中执行查找,会不会有读到同一个文件的可能性?
会不会发生要删除一个正在读的文件面出错的可能性?
/////////////////////////////////
if FindFirst(WildFile,FileAttrs,sr)=0 Then
begin
repeat
if sr.Attr<>faDirectory Then
begin
FileToOpen:=FileName+sr.Name;
EmailList.Clear;
EmailList.LoadFromFile(FileToOpen);
DeleteFile(FileToOpen); AMxList.Clear;
QueryMX(AMxList,EmailList.Strings[0]);
/////////////////////////////////
SendEmail(AMxList,EmailList);
////////////////////////////////////
end;
until FindNext(sr)<>0;
FindClose(sr);
end;
就是用FindFirst,FindNext查找某个目录里的文件然后读到
EmailList的TStrings里面,然后删除文件。
由于是在线程中执行查找,会不会有读到同一个文件的可能性?
会不会发生要删除一个正在读的文件面出错的可能性?
/////////////////////////////////
if FindFirst(WildFile,FileAttrs,sr)=0 Then
begin
repeat
if sr.Attr<>faDirectory Then
begin
FileToOpen:=FileName+sr.Name;
EmailList.Clear;
EmailList.LoadFromFile(FileToOpen);
DeleteFile(FileToOpen); AMxList.Clear;
QueryMX(AMxList,EmailList.Strings[0]);
/////////////////////////////////
SendEmail(AMxList,EmailList);
////////////////////////////////////
end;
until FindNext(sr)<>0;
FindClose(sr);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货