.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); //Потоки
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д