Compartilhar via


MessageQueueTask.SuspendExecution Método

Definição

Indica se o executável precisa ser suspenso. Esse método é chamado pelo mecanismo de runtime.

public:
 virtual void SuspendExecution();
public void SuspendExecution ();
abstract member SuspendExecution : unit -> unit
override this.SuspendExecution : unit -> unit
Public Sub SuspendExecution ()

Implementações

Exemplos

O exemplo de código a seguir é um exemplo de um método substituído SuspendExecution para uma tarefa personalizada.

public void SuspendExecution()   
{  
    lock (this)   
    {  
        // If a suspend is required, do it.   
        if (m_suspendRequired != 0)   
           ChangeEvent(m_canExecute, false);   
        }   

        // The application cannot return from Suspend until the task  
        // is suspended.  
        // This can happen in one of two ways:  
        // 1) The m_suspended event occurs, indicating that the   
        // execute thread has suspended, or   
        // 2) the canExecute flag is set, indicating that a suspend is  
        // no longer required.   
        WaitHandle [] suspendOperationComplete = {m_suspended, m_canExecute};  
        WaitHandle.WaitAny(suspendOperationComplete);  
}  
Public  Sub SuspendExecution()  
    lock (Me)  
    {  
        If m_suspendRequired <> 0 Then  
           ChangeEvent(m_canExecute, False)  
        End If  
    }  
        ' The application cannot return from Suspend until the task  
        ' is suspended. This can happen in one of two ways:  
        ' 1) The m_suspended event occurs, indicating that the   
        ' execute thread has suspended, or   
        ' 2) the canExecute flag is set, indicating that a suspend is  
        ' no longer required.   
        Dim suspendOperationComplete As WaitHandle() = {m_suspended, m_canExecute}  
        WaitHandle.WaitAny(suspendOperationComplete)  

Comentários

Esse método não é usado no código. Ele é chamado pelo runtime quando um ponto de interrupção foi encontrado.

No entanto, você precisará fornecer código para esse método, que é herdado da IDTSSuspend classe, se você escrever uma tarefa personalizada de vários threads que expõe pontos de interrupção. Se sua tarefa for um thread único, o que significa que sua implementação Execute em sua tarefa personalizada não iniciará novos threads, você não precisará implementar essa interface. Para obter mais informações sobre como escrever tarefas personalizadas, consulte Desenvolvendo uma tarefa personalizada.

Aplica-se a