Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2012, 02:27   #1
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию асинхронные вычисления в .Net

Я как-то не много запутался с асинхронными вычислениями в .Net.
1)
Код:
  private async void T(int i)
        {
            await new Task(this.DoWork(i));
        }
  this.T(i);

2)
Код:
    Enumerable.Range(0, count).AsParallel().ForAll(this.DoWork);
3)
Код:
 var t = new TaskFactory();
              for (int i = 0; i < count; i++)
              {
                  t.StartNew(() => this.DoWork(i));
              }


4)
Код:
ThreadPool.QueueUserWorkItem(
                (c) =>
                    {
                        for (int i = 0; i < count; i++)
                        {
                            t.StartNew(() => this.DoWork(i));
                        }
                    });
5)
Код:
          var worker = new BackgroundWorker();
            DoWorkEventHandler worker_DoWork=(i,j)=> this.DoWork(j);
            worker.DoWork+=worker_DoWork;
            worker.RunWorkerAsync();
6)
Код:
new Thread(() => { this.DoWork(i) });

1) async синтаксический сахар для Task? который позволяет легче обеспечить потокобезопастность?
2) AsParallel() тоже самое что Task?
3) TaskFactory > ThreadPool? TaskFactory просто надстройка? Хотелось бы знать по перфомансу он проигрывает ThreadPool или ThreadPool безнадежно умирает..?
4) BackgroundWorker просто надстройка для LongRunning thread?
5) Могут ли они (1-5) быть запуститься в том же потоке?
Reskov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net gammaray Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 22.11.2010 17:36
синхронные/асинхронные запросы Dimarik JavaScript, Ajax 2 05.09.2010 19:02
Сокеты: блокируемые или асинхронные? AndreySt Win Api 4 14.09.2009 18:43
обновление в блоге - Распределенные вычисления с использованием .NET Framework Pblog Обсуждение статей 0 10.07.2008 18:20