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