Какой смысл использовать задачи, если мне нужно создавать собственные потоки STA для их параллельного запуска?C#

Место общения программистов C#
Anonymous
Какой смысл использовать задачи, если мне нужно создавать собственные потоки STA для их параллельного запуска?

Сообщение Anonymous »

Я много читал и смотрел видеоролики Microsoft о том, почему мне следует использовать задачи, а не потоки, и это имеет смысл (я думаю). Но этот блог Microsoft о параллельном программировании с .NET меня смутил.

Насколько я понимаю, с помощью задач я могу лучше использовать преимущества нескольких ядер и запускать эти задачи параллельно. Проблема в том, что я вызываю собственный код, который создает экземпляры некоторых COM-объектов, поэтому мои задачи должны выполняться в потоках STA.

В этой статье автор говорит, что для запуска задачи в потоке STA вам необходимо создать задачу из потока STA. Он создает ОДИН поток STA и создает из него 10 задач, а затем комментирует, что все задачи будут выполняться последовательно из-за создания задач из одного потока.

Подождите... почему? Если мне придется создавать свои собственные потоки, чтобы мои задачи выполнялись параллельно, разве это не противоречит цели? А почему они не работают параллельно?

Чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/471 ... -to-run-th

Вернуться в «C#»