Compartilhar via


Thread.Freeze Method

Definition

Stops the thread from executing.

public:
 void Freeze();
public:
 void Freeze();
void Freeze();
[System.Runtime.InteropServices.DispId(1)]
public void Freeze ();
[<System.Runtime.InteropServices.DispId(1)>]
abstract member Freeze : unit -> unit
Public Sub Freeze ()
Attributes

Examples

The following example demonstrates how to use the Freeze method.

public static void FreezeThawTest(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 Freeze Thaw Test");  
    owp.Activate();  

    EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads;  
    owp.OutputString("There are " + threads.Count + " threads:\n");  
    foreach(EnvDTE.Thread thread in threads)  
    {  
        owp.OutputString("\nThread: " + thread.ID + "  Name: " + thread.Name);  
        owp.OutputString("\n  Is frozen                  : " + thread.IsFrozen);  
        owp.OutputString("\n  Freezing . . . ");  
        thread.Freeze();  
        owp.OutputString("\n  Is frozen                  : " + thread.IsFrozen);  
        owp.OutputString("\n  Thawing . . . ");  
        thread.Thaw();  
        owp.OutputString("\n  Is frozen                  : " + thread.IsFrozen);  
    }  
}  
Shared Sub FreezeThawTest(ByRef dte As EnvDTE.DTE)  
    Dim str As String  
    Dim threads As EnvDTE.Threads = dte.Debugger.CurrentProgram.Threads  
    str = "There are " + threads.Count.ToString() + " threads running."  
    For Each thread As EnvDTE.Thread In threads  
        str += vbCrLf + vbCrLf + "  Thread: " + thread.ID.ToString()  
        str += vbCrLf + vbCrLf + "  Is frozen: " + thread.IsFrozen.ToString()  
        str += vbCrLf + vbCrLf + "  Freezing ... "  
        thread.Freeze()  
        str += vbCrLf + vbCrLf + "  Is frozen: " + thread.IsFrozen.ToString()  
        str += vbCrLf + vbCrLf + "  Thawing ... "  
        thread.Thaw()  
        str += vbCrLf + vbCrLf + "  Is frozen: " + thread.IsFrozen.ToString()  
    Next  
    MessageBox.Show(str, "Thread Freeze Thaw Test")  
End Sub  

Remarks

For more information, see How to: Use the Threads Window.

Applies to