.NET эквивалент групп потоков Java?

Я пытаюсь отслеживать состояния группы потоков в приложении Microsoft.NET, написанном на C#. Я хотел бы также иметь возможность отслеживать любые дочерние потоки, порожденные исходными потоками.

В Java вы можете назначать потоки группе потоков, и их дочерние элементы также будут входить в эту группу. Есть ли эквивалент в .NET?

Я кратко рассмотрел ExecutionContext и LogicalCallContext, но я не вижу, как найти все потоки, которые находятся в контексте. У Раймонда Чена есть статья о Метод Win32 API для перечисления потоков, но я надеюсь, что мне не нужно опускаться так низко.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
2 353
3

Ответы 3

Вы можете перечислить потоки в своем процессе, используя свойство Потоки System.Diagnostics.Process.

Однако обратите внимание, что объекты, которые вы здесь получаете, не того же типа, что и те, которые вы создаете для самостоятельного запуска потоков (т. Е. Не являются объектами System.Threading.Thread).

Однако концепции групп потоков не существует, AFAIK.

Они работают над чем-то подобным в своем API «Задач», который является частью Parallel Extensions.

Сделай это проще:

Создайте свой класс ThreadGroup с помощью метода, обертывающего процесс создания потока.

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

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

Don Kirkby 20.01.2009 21:18

Другие вопросы по теме