O que são threads? Onde vivem? O que comem? Hoje no Globo Repor… quer dizer, no Terminal de Informação.
Thread é uma tarefa executada por algum sistema. No caso do Protheus, ele trabalha com apenas 1 thread por conexão ou com múltiplas threads.
Então por exemplo, se você abrir o SIGAADV, ele irá abrir uma Thread no Monitor e no DbMonitor, e você não conseguirá abrir outras abas, apenas 1 por vez.
Já, se você abrir o SIGAMDI, o sistema irá abrir uma Thread específica para o MDI, e esperar que o usuário abra outras threads. Então se o usuário abrir o cadastro de Clientes, o de Produtos e o Pedidos de Venda, você terá nesse momento 4 threads abertas, uma de MDI, e 3 das rotinas (Clientes, Produtos e Pedidos).
No caso, via AdvPL, nós podemos ainda, enquanto estamos com uma thread ativa, chamar outras threads para “ajudar” no processamento final, que chamamos de programação multi-thread. Para fazermos isso, basta chamarmos a função StartJob (https://tdn.totvs.com/display/tec/StartJob), que ela irá iniciar uma nova thread secundária.
Esse recurso é interessante para processamentos pesados, como por exemplo, um recálculo do custo médio.
Bom pessoal, por hoje é só.
Abraços e até a próxima.