繁体   English   中英

C# 新任务说明

[英]C# new Task clarification

在阅读了不同年份发表的多篇文章后,我比以前更加困惑。

我想知道如何确保我创建的任务将在多个内核上运行??

下面的 function 必须处理大量上传到服务器的文件:

private void FileSystemWatcher_Created(object sender, System.IO.FileSystemEventArgs e)
    {

        var SyncTask = new Task(() => 
        {

            //DO A LOT OF WORK HERE
        });

        SyncTask.Start();

    }

如果这是在 4.7.2 .NET 框架上通向 go 的方式,我只是找不到直接的答案?

任务本身将在单个核心上运行。 如果您希望“//DO A LOT OF WORK HERE”在多个内核上运行,则需要通过从该任务生成任务(另请参见子任务,或使用更简单的Parallel )来并行化该工作。

否则,无论您是使用您的方法还是仅使用Task.Run(..) ,这在您的情况下并不重要。

编辑见这篇文章,它很好地解释了差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM