Metodo Thread2.Thaw
Consente al thread di riprendere l'esecuzione.
Spazio dei nomi: EnvDTE90
Assembly: EnvDTE90 (in EnvDTE90.dll)
Sintassi
'Dichiarazione
Sub Thaw
void Thaw()
void Thaw()
abstract Thaw : unit -> unit
function Thaw()
Note
Questo metodo consente di riprendere l'esecuzione di un thread che era stato bloccato.
Esempi
Nell'esempio seguente viene illustrato come utilizzare il metodo Freeze.
Per verificare il metodo:
Impostare il punto di interruzione all'interno del metodo di callback dei thread di lavoro.
Eseguire l'applicazione di destinazione in modalità debug.
Quando l'applicazione si interrompe al punto di interruzione, eseguire il componente aggiuntivo.
public static void FreezeThawTest(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 Freeze Thaw
Test");
owp.Activate();
EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads;
owp.OutputString("There are " + threads.Count + " threads:\n");
foreach(EnvDTE90.Thread2 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 EnvDTE80.DTE2)
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 EnvDTE90.Thread2 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
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
Altre risorse
Debug di thread e processi in Visual Studio