.NET 4.x Выполнение "асинхронного" кода на нескольких ядрах - C#

Узнай цену своей работы

Формулировка задачи:

Вопрос таков: Насколько мне известно, код использующий Begin*/End* на самом деле не выполняется на нескольких ядрах, а только на одном (т.е. максимальная загрузка ЦП, если процессор имеет 4 ядра - 25%). Хотелось бы узнать, как вы с этим боритесь. Интересно то, что если создать как минимум 4 обычных Thread, и запустить в них бесконечный цикл (разумеется, без всяких там Thread.Sleep), то загрузка ЦП будет вполне себе достигать 100%. Речь, в основном, идет о коде сетевых приложений (серверах).

Решение задачи: «.NET 4.x Выполнение "асинхронного" кода на нескольких ядрах»

textual
Листинг программы
Task.Run(() => Worker(socket)); //Таски
ThreadPool.QueueUserWorkItem(new WaitCallback(WorkerThread), socket); //Потоки

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы