Thread.IsAlive 속성
참조된 스레드가 활성화되어 있는지 여부를 가져옵니다.
네임스페이스: EnvDTE
어셈블리: EnvDTE(EnvDTE.dll)
구문
‘선언
ReadOnly Property IsAlive As Boolean
bool IsAlive { get; }
property bool IsAlive {
bool get ();
}
abstract IsAlive : bool
function get IsAlive () : boolean
속성 값
형식: System.Boolean
부울 값입니다.
설명
참조된 스레드가 활성화되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
[!참고]
스레드 상태는 이 함수에서 반환하기 전에 변경될 수 있습니다.
예제
다음 예제에서는 IsAlive 속성을 사용하는 방법을 보여 줍니다.
이 속성을 테스트하려면
작업자 스레드 콜백 메서드에 중단점을 설정합니다.
디버그 모드에서 대상 응용 프로그램을 실행합니다.
응용 프로그램이 중단점에서 멈추면 추가 기능을 실행합니다.
public static void TestThreadProperties(DTE 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(EnvDTE.Thread 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);
}
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE.DTE)
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 EnvDTE.Thread 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()
Next
MessageBox.Show(str, "Thread Test - Properties")
End Sub
.NET Framework 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.