Как значения ManagedThreadId определяются в. NET? - PullRequest
1 голос
/ 07 февраля 2020

Мне любопытно узнать о Thread.ManagedThreadId и его возможных значениях (типа int)

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

При некотором грубом тестировании кажется как бы:

  • Значения всегда выше 0,
  • Они начинаются довольно низко (в подростковом возрасте) и затем увеличение почти в хронологическом порядке,
  • По завершении потоков предыдущие значения освобождаются - это означает, что присвоение будет переходить назад и вперед между хронологическими значениями и значениями, которые были освобождены.
  • Способ назначения значений не зависит от того, как создаются потоки (явное создание потоков, рабочие потоки и т. Д. c.)
  • Порядок также выглядит зависимым от того, как определены ваши потоки и как быстро они завершаются (т.е. простое определение потока не назначает идентификатор, но фактическое начало потока определяет значение.)

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

...