Изменение культуры пула потоков распараллеливают, влияют на него, когда это становится возвращенным назад к пулу?

Код ниже неоднократно снимает изоляцию с самого низкого бита, пока число не является питанием два, затем удваивает результат, если число не является питанием два для начала. Это имеет преимущество выполнения во время, пропорциональное количеству набора битов. К сожалению, это имеет недостаток требования большего количества инструкций почти во всех случаях или, чем код в вопросе или, чем предложения блока. Я включаю его только для полноты.

int nextPow(int x) {
  int y = x
  while (x &= (x^(~x+1))) 
    y = x << 1;
  return y
}
7
задан adrianbanks 23 September 2009 в 16:35
поделиться

1 ответ

Я бы не стал полагаться на то, что ThreadPool когда-либо сбрасывает информацию, особенно из-за цитируемого вами текста.

Если вы беспокоитесь об «изменении» культуры пула потоков , Я бы обязательно сбросил его, когда ваша многопоточная задача будет завершена. Это достаточно простая задача.

Я не верю, что текущий пул потоков делает это, но даже если бы он сделал , было бы небезопасно предполагать, что реализация ThreadPool в .NET 4+ не будет изменение.

8
ответ дан 7 December 2019 в 05:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: