2012-03-15 2 views
13

Я только что задал вопрос о Задаче, но понял, что на самом деле хочу задать более общий вопрос. Может ли кто-нибудь обобщить плюсы и минусы задач и потоков. Как понять, следует ли использовать Task или Thread?Когда использовать задачу и когда использовать Thread?

+0

Я ответил на аналогичный (но не совсем то же самое) вопрос [здесь] (Http: // StackOverflow .com/а/9493446/960195). Надеюсь, это пригодится. –

+0

@AdamMihalcin Я ищу алгоритм, который может ответить, что я должен использовать в каждом конкретном случае - Task или Thread? – javapowered

+1

http://stackoverflow.com/questions/9493421/different-between-task-system-threading-task-and-thread#comment12019624_9493421 – dlev

ответ

5

Task - это программа для программирования чего-то асинхронным способом. Thread на самом деле OS объект ядра, который выполняет запрашиваемое. Подумайте о Task как умный агрегатор/организатор потоков, который «знает», сколько задач лучше выполнять на вашем CPU. Это просто умнее, чем обычные реализации многопоточности (вот почему предлагается Microsoft выбрать). Это функция, которая упрощает управление Threads. .

Посмотрите также на этом Should i use ThreadPools or Task Parallel Library for IO-bound operations, которые могут дать вам некоторые советы по вопросам производительности, которые могут быть заинтересованы в