Re[5]: Эпоха параллельности.Способы выживания в эпоху многоя
От: IT Россия linq2db.com
Дата: 04.02.10 16:52
Оценка:
Здравствуйте, IB, Вы писали:

S>> Допустим, для хостов с кучей доменов это однозначно big no-no. Почему бы не использовать дефолтное де факто поведение

IB>Потому что это поведение не очень корретно и хотели его изменить...

Зато теперь корректно, но в случае ASP.NET одно непойманное исключение в рабочем потоке убивает все приложения в процессе, даже если они в других доменах.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Эпоха параллельности.Способы выживания в эпоху многоя
От: IT Россия linq2db.com
Дата: 04.02.10 16:55
Оценка:
Здравствуйте, ausergiy, Вы писали:

A>Подсчеты секунд выигрыша вызывают только улыбку. Толку, что сэкономите пару секунд (точнее, отберете у других приложений), если убъете на разработку и отладку в 2 раза больше времени?


А как насчёт экономии десятков минут при убиении на разработку и отладку пары секунд?
Если нам не помогут, то мы тоже никого не пощадим.
Re: Эпоха параллельности.Способы выживания в эпоху многоядер
От: yuriylsh  
Дата: 11.02.10 22:32
Оценка:
Здравствуйте, Иван Бодягин, Вы писали:

Не знаю, возможно когда статья писалась то использовалась более старая версия TPL, или просто опечатка, но в TPL которая включена в Release Candidate
вместо
      for (int i = 0; i < size; i++)
      {
        tasks.Add(new Task(ti =>
        {
          int ii = (int)ti;
          for (int j = 0; j < size; j++)
          {
            result[ii, j] = 0;
            for (int k = 0; k < size; k++)
            {
              result[ii, j] += m1[ii, k] * m2[k, j];
            }
          }
        }, i));
      }


нужно использовать

for (int i = 0; i < size; i++)
{
    var task = new Task(ti =>
    {
        int ii = (int)ti;
        for (int j = 0; j < size; j++)
        {
            result[ii, j] = 0;
            for (int k = 0; k < size; k++)
            {
                result[ii, j] += m1[ii, k] * m2[k, j];
            }
        }
    }, i);
    task.Start();
    tasks.Add(task);
}
Luck in life always exists in the form of an abstract class that cannot be instantiated directly and needs to be inherited by hard work and dedication.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.