我有以下代码:
private static void FetchAllDataForAllNodesInCache()
{
var tasksList = Cache.TreeNodeItemsCollection.Select(nodeToEnrich => new Task(() => InsertQueuesIntoNode(nodeToEnrich))).ToList();
var count = tasksList.Count;
}
private static void InsertQueuesIntoNode(TreeNode toEnrich)
{
// blagh do something?
}
我的问题是,在设置新任务时,我是否需要使用Take或Try Take方法?我的意思是,我不需要从集合中安全地删除我的项目,然后在任务安全完成后再将其重新添加。我能为想要回答我的问题的人提供的唯一保证是,“Cache.TreeNodeItemsCollection”中没有两个任务可以使用相同的节点。
我还没有添加一些代码来启动任务,但是一旦我知道我当前的设置是否正常,这将被添加?