Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Многопоточность Backgroundworker и Tasks


Автор: Grigorill 19.8.2011, 14:07
Недавно изучаю C# подскажите пожалуйста разницу между Backroundworker и Tasks нашел на http://xn----8sbabkb0btnaqcmocur.xn--p1ai/c-sharp/thread/ispolzovanie-backgroundworker-v-c-ili-kak-izbavit-formu-ot-podvisanij описание работы с данным элементом.Ниже прочитал коментарий про Task в котором говорится что они удобнее и проще в использовании, но нормального примера по ним так и не нашел. Дайте совет что лучше? все ли я правильно понял (то есть можно заменить Backgroundworker task ом)? И если  есть пример  для новичков, буду благодарен.    

Автор: jonie 19.8.2011, 14:58
BWorker был создан до создания Task. Он ориентирован на работу бэкграунд потоков, которым нужна синхронизация с гуем для вывода информации о своем состоянии (прогрессе). В отличие от этого Task над этим не заморачивается и предназначен скорее для долгоиграющих потоков или для потоков кому не надо рапартовать о своих действиях в Гуй.

Автор: Grigorill 19.8.2011, 15:21
Понял то есть если мне не надо использовать прогрессбар например, а просто освободить интерфейс программы то Task подойдет? Сейчас у меня есть один довольно долгий процесс который заставляет подвисать форму на 2-3 минуты. Хотелось бы освободить поток для того чтобы можно было хотя бы свернуть форму или нажать отмену. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)