我有以下代码:
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”中的同一个节点。
我还没有添加一些代码来启动任务,但是一旦我知道我当前的设置是否正常,就会添加这些代码?