Thread2.Thaw - метод
Обновлен: Ноябрь 2007
Позволяет возобновить выполнение потока.
Пространство имен: EnvDTE90
Сборка: EnvDTE90 (в EnvDTE90.dll)
Синтаксис
'Декларация
Sub Thaw
'Применение
Dim instance As Thread2
instance.Thaw()
void Thaw()
void Thaw()
function Thaw()
Реализации
Заметки
После приостановки потока этот метод можно использовать для возобновления его выполнения.
Примеры
В следующем примере показано использование метода Freeze.
Для тестирования этого метода:
Установите точку останова внутри метода обратного вызова рабочего потока;
Запустите целевое приложение в режиме отладки;
Когда выполнение приложения прервется в точке останова, запустите надстройку.
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
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Работа с потоками и процессами