次のコードがあります。
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 メソッドを使用する必要がありますか、それとも上記で問題ありませんか? つまり、アイテムをコレクションから安全に削除し、タスクが安全に完了したときに再度追加する必要はありません。私の質問に答えたい人に提供できる唯一の保証は、2 つのタスクが「Cache.TreeNodeItemsCollection」の同じノードで動作しないということです。
タスクを開始するためのコードをまだ追加していませんが、現在のセットアップが適切かどうかがわかったら追加されますか?