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
Import HTML Content
Visão Geral
Conteúdo das Ferramentas