На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Suspending Thread Execution



A thread can suspend and resume the execution of another thread using the SuspendThread and ResumeThread functions. While a thread is suspended, it is not scheduled for time on the processor.

The SuspendThread function is not particularly useful for synchronization because it does not control the point in the code at which the thread's execution is suspended. However, you might want to suspend a thread in a situation where you are waiting for user input that could cancel the work the thread is performing. If the user input cancels the work, have the thread exit; otherwise, call ResumeThread.
If a thread is created in a suspended state (with the CREATE_SUSPENDED flag), it does not begin to execute until another thread calls ResumeThread with a handle to the suspended thread. This can be useful for initializing the thread's state before it begins to execute. See Using a Multithreaded Multiple Document Interface Application for an example that uses this method to modify the thread's priority before it can run. Suspending a thread at creation can be useful for one-time synchronization, because this ensures that the suspended thread will execute the starting point of its code when you call ResumeThread.

A thread can temporarily yield its execution for a specified interval by calling the Sleep or SleepEx functions This is useful particularly in cases where the thread responds to user interaction, because it can delay execution long enough to allow users to observe the results of their actions. During the sleep interval, the thread is not scheduled for time on the processor.
The SwitchToThread function is similar to Sleep and SleepEx, except that you cannot specify the interval. SwitchToThread allows the thread to give up its time slice.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Задержка Выполнения Резьбы



Резьба может приостановить и продолжать выполнение другой резьбы, использовавшей SuspendThread и функции ResumeThread. Пока резьба приостановлена, она не запланирована в течение времени в процессоре.

Функция SuspendThread не особенно полезная для синхронизации поскольку она не управляет точкой в коде в которой выполнение резьбы приостановлено. Тем не менее, Вы могли захотеть приостановить резьбу в ситуации где Вы ждете ввод пользователя, который мог бы отменить работу, которую резьба выполняет. Если ввод пользователя отменяет работу, имеет выход резьбы; в противном случае, вызов ResumeThread.
Если резьба создана в приостановленном состоянии (с флагом CREATE_SUSPENDED), она не начинает выполняться пока другая резьба не назовет ResumeThread с ручкой в приостановленную резьбу. Это может быть полезным чтобы инициализировать состояние резьбы прежде, чем оно начнет выполняться. Смотри Используя Заявку Интерфейса Многочисленного Документа Multithreaded на пример, которая использует этот метод, чтобы модифицировать приоритет резьбы прежде, чем он может работать. Задержка резьбы на создании может быть полезной для бывшей синхронизации, поскольку это проверяет, что приостановленная резьба выполнит отправной пункт своего кода когда Вы называете ResumeThread.

Резьба может временно дать свое выполнение для определенного интервала вызывая Сон или SleepEx функционирует Это полезное особенно в случаях где резьба реагирует на взаимодействие потребителя, поскольку она может задержать выполнение долго (длиной) достаточно, чтобы позволять, чтобы наблюдать результаты их действий. В течение интервала сна, резьба не запланирована в течение времени в процессоре.
Функция SwitchToThread аналогичная, чтобы Спать и SleepEx, за исключением того это Вы не можете определить интервал. SwitchToThread ПОЗВОЛЯЕТ резьбу, чтобы оставлять свою вырезку времени.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz