Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该停止我的任务吗?_C#_Parallel Processing_Task - Fatal编程技术网

C# 我应该停止我的任务吗?

C# 我应该停止我的任务吗?,c#,parallel-processing,task,C#,Parallel Processing,Task,你好 我尝试并行我的小示例prog——对于每3600次迭代,我创建并启动一个任务 我应该用什么方法阻止它吗 class Program { static void Main(string[] args) { int n=1000000; List<Task> tasks = new List<Task>(); var sb = new StringBuilder(); for (int i =

你好

我尝试并行我的小示例prog——对于每3600次迭代,我创建并启动一个任务

我应该用什么方法阻止它吗

class Program
{
    static void Main(string[] args)
    {
        int n=1000000;
        List<Task> tasks = new List<Task>();
        var sb = new StringBuilder();
        for (int i = 0; i < n * 360; i++)
        {
            sb.Append("test");
            if (i % 3600 == 0)
            {           
                var task = Factory.GetTask(sb);
                sb.Clear();
                task.Start();
            }

        }
    }

    public static void WriteToFile(StringBuilder Sb)
    {
        // do work;
    }


 public sealed class Factory
    {
        private Factory()
        { 

        }

        public static Task GetTask(StringBuilder Sb)
        {
            return new Task(()=>Program.WriteToFile(Sb));
        }

    }

我们真的不知道您想要实现什么,或者Factory.GetTask做什么。是否要停止任务?如果是,信号是什么?您是否考虑过使用取消令牌?设置工厂类。我想在该任务正常工作时停止或删除该任务。这并不能解释太多-但有一个标准的任务取消习惯用法,您应该坚持这样做。您想在任务正常工作时停止它,意思是您想取消该任务?不,我只想让wnet任务执行将被删除的工作。我应该键入task.Waint还是它自动运行并删除?我不想在我的内存中获得10k线程