【发布时间】:2018-09-22 08:55:38
【问题描述】:
我有一个 xml 文件,其中包含所有带有 IP 地址的学校名称,我正在尝试按计时器间隔备份每所学校(即SchoolFunctions.Backup)。
问题是在某些情况下备份速度太慢,并且在之前的备份仍在运行时会再次启动备份方法......
如果SchoolFunctions.Backup 仍在为那所学校运行,我该如何阻止它被执行?
using (DataTable schools = new DataTable { TableName = "Schools" })
{
schools.ReadXml(AppSettings.Default.SettingsPath);
try
{
Parallel.ForEach(schools.AsEnumerable(), _opts, row =>
{
SchoolFunctions.Backup(row.Field<string>("IPAddress"), row.Field<string>("Name"));
}
}
...
}
【问题讨论】:
标签: c# multithreading parallel-processing