Поделиться через


Thread2.Collection - свойство

Возвращает коллекцию, содержащую данный поток.

Пространство имен:  EnvDTE90
Сборка:  EnvDTE90 (в EnvDTE90.dll)

Синтаксис

'Декларация
ReadOnly Property Collection As Threads
    Get
Threads Collection { get; }
property Threads^ Collection {
    Threads^ get ();
}
abstract Collection : Threads
function get Collection () : Threads

Значение свойства

Тип: EnvDTE.Threads
Коллекция Threads.

Реализации

Thread.Collection

Примеры

В следующем примере демонстрируется применение свойства Collection.

Чтобы проверить это свойство, выполните следующие действия.

  1. Установите точку останова внутри метода обратного вызова рабочего потока;

  2. Запустите приложение в режиме отладки.

  3. Когда выполнение приложения остановится в точке останова, запустите надстройку.

public static void TestThreadProperties(DTE2 dte)
{
    // Setup debug Output window.
    Window w = 
      (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
    w.Visible = true;
    OutputWindow ow = (OutputWindow)w.Object;
    OutputWindowPane owp = ow.OutputWindowPanes.Add("Thread Test");
    owp.Activate();

    EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads;
    owp.OutputString("\nNumber of items in the Thread collection: " + 
      threads.Item(1).Collection.Count + "\n");
    foreach(EnvDTE90.Thread2 thread in threads)
    {
        owp.OutputString("\nThread: " + thread.ID + "  Name: " + 
          thread.Name);
        owp.OutputString("\n  Edition of the environment : " + 
          thread.DTE.Edition);
        owp.OutputString("\n  Is alive                   : " + 
          thread.IsAlive);
        owp.OutputString("\n  Is frozen                  : " + 
          thread.IsFrozen);
        owp.OutputString("\n  Location                   : " + 
          thread.Location);
        owp.OutputString("\n  Parent's current mode      : " + 
          thread.Parent.CurrentMode);
        owp.OutputString("\n  Priority                   : " + 
          thread.Priority);
        owp.OutputString("\n  Program name               : " + 
          thread.Program.Name);
        owp.OutputString("\n  Number of stack frames     : " + 
          thread.StackFrames.Count);
        owp.OutputString("\n  Suspended number of times  : " + 
          thread.SuspendCount);
        owp.OutputString("\n  Flag on the thread  : " + thread.Flag);
    }
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE80.DTE2)
    Dim str As String
    Dim threads As EnvDTE.Threads = dte.Debugger.CurrentProgram.Threads
    str = "Number of items in the Thread collection: " + _
      threads.Item(1).Collection.Count.ToString()
    For Each thread As EnvDTE90.Thread2 In threads
        str += vbCrLf + vbCrLf + "  Thread: " + thread.ID.ToString()
        str += vbCrLf + "    Edition of the environment: " + 
          thread.DTE.Edition
        str += vbCrLf + "    Is alive: " + thread.IsAlive.ToString()
        str += vbCrLf + "    Is frozen: " + thread.IsFrozen.ToString()
        str += vbCrLf + "    Location: " + thread.Location
        str += vbCrLf + "    Parent's current mode: " + _
               thread.Parent.CurrentMode.ToString()
        str += vbCrLf + "    Priority: " + thread.Priority
        str += vbCrLf + "    Program name: " + thread.Program.Name
        str += vbCrLf + "    Number of stack frames: " + _
               thread.StackFrames.Count.ToString()
        str += vbCrLf + "    Suspended number of times: " + _
               thread.SuspendCount.ToString()
        str += vbCrLf + "    Flag on the thread: " + _
               thread.Flag.ToString()
    Next
    MessageBox.Show(str, "Thread Test - Properties")
End Sub

Безопасность платформы .NET Framework

См. также

Ссылки

Thread2 Интерфейс

Collection - перегрузка

EnvDTE90 - пространство имен

Другие ресурсы

Работа с потоками и процессами

Диаграмма модели объектов автоматизации

Практическое руководство. Использование окна потоков