Envia uma chamada para uma thread, que não precisa ser necessariamente do mesmo ambiente, que está em espera.
Sintaxe
IPCGo( < cSemaforo > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cSemaforo | caractere | Indica o local ou semáforo em que as threads foram iniciadas. Observação: O semáforo especificado não deve conter letras minúsculas. Todas as letras informadas no semáforo devem ser maiúsculas. | X |
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
bRet | L | Retorna .T. caso a requisição foi enviada a um IpcWaitEx() em espera. |
Observações
- Esta função recebe mais 15 argumentos opcionais para passagem de dados, porém esse valor não pode ser do tipo bloco de código ou lógico.
- Ao especificar o semáforo que desejamos, no parâmetro <cSemaforo>, a função pegará a primeira thread livre que encontrar na IPCWaitEx().
- Caso não exista nenhum semáforo em espera com o nome especificado no momento da chamda da função IpcGo(), ela retorna .F. imediatamente.
Exemplos
Exemplo 1
#DEFINE SEMAFORO 'IDUNICOTESTE' #DEFINE SEMAFORO 'IDUNICOTESTE' User Function ipcgo() StartJob("U_ipcjobs",GetEnvServer(),.F.) StartJob("U_ipcjobs",GetEnvServer(),.F.) Sleep( 7000 ) IPCGo( SEMAFORO, "Data atual " + cvaltochar(date()) ) Return User Function ipcjobs() Local cPar while !killapp() lRet := IpcWaitEx( SEMAFORO, 5000, @cPar ) if lRet conout(cPar) exit endif enddo Return
Abrangência
Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas