C# новое уточнение задачи - PullRequest
0 голосов
/ 25 апреля 2020

После прочтения нескольких статей, выпущенных в разные годы, я запутался больше, чем раньше.

Я хотел знать, как сделать так, чтобы задачи, которые я создаю, выполнялись на нескольких ядрах ??

Приведенная ниже функция должна обрабатывать множество файлов, загружаемых на сервер:

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

        var SyncTask = new Task(() => 
        {

            //DO A LOT OF WORK HERE
        });

        SyncTask.Start();

    }

Я просто не могу найти прямой ответ, если это путь к go в 4.7.2. NET framework или нет?

1 Ответ

0 голосов
/ 27 апреля 2020

Само задание будет выполняться на одном ядре. Если вы хотите, чтобы «// СДЕЛАТЬ МНОГО РАБОТЫ ЗДЕСЬ» выполнялся на нескольких ядрах, вам нужно распараллелить эту работу либо путем запуска задач из этой задачи (см. Также Дочерние задачи , либо с использованием более простого Parallel.

В противном случае, используете ли вы свой подход или просто Task.Run(..), в вашем случае это не имеет большого значения.

РЕДАКТИРОВАТЬ См. Эту статью , это хорошо объясняет разницу.

...