public FilterTask FindFilterTask(string strName) { _filterTaskLock.EnterReadLock(); try { FilterTask task = (FilterTask)this.FilterTasks[strName]; if (task != null) { task.Touch(); } return(task); } finally { _filterTaskLock.ExitReadLock(); } }
// parameters: // task 要设置的 FilterTask 对象。如果为 null,表示要删除名字为 strName 的对象 public void SetFilterTask(string strName, FilterTask task) { _filterTaskLock.EnterWriteLock(); try { FilterTask old_task = (FilterTask)this.FilterTasks[strName]; if (old_task == task) { if (old_task != null) { old_task.Touch(); } return; } // 删除任务所创建的结果集文件 if (old_task != null) { old_task.DeleteTempFiles( // this.GetTempDir() this.TempDir ); } // TODO: 是否要定义一个极限值,不让元素数超过这个数目 if (task == null) { this.FilterTasks.Remove(strName); } else { task.Touch(); this.FilterTasks[strName] = task; } } finally { _filterTaskLock.ExitWriteLock(); } }
// parameters: // task 要设置的 FilterTask 对象。如果为 null,表示要删除名字为 strName 的对象 public void SetFilterTask(string strName, FilterTask task) { _filterTaskLock.EnterWriteLock(); try { FilterTask old_task = (FilterTask)this.FilterTasks[strName]; if (old_task == task) { if (old_task != null) old_task.Touch(); return; } // 删除任务所创建的结果集文件 if (old_task != null) old_task.DeleteTempFiles( // this.GetTempDir() this.TempDir ); // TODO: 是否要定义一个极限值,不让元素数超过这个数目 if (task == null) this.FilterTasks.Remove(strName); else { task.Touch(); this.FilterTasks[strName] = task; } } finally { _filterTaskLock.ExitWriteLock(); } }