quinta-feira, maio 19, 2005

PowerBuilder – Implementando Single-Threaded Apartments

É possível implementar uma aplicação Single-threaded Apartments utilizando o PowerBuilder, o mesmo recurso utilizado para MultiThread no VisualBasic 6.
Primeiro deixa-me explicar o que é isso? Single-threaded Apartments é o processo de simular MultiThread, ou seja, N processos executarem ao mesmo tempo dentro da mesma aplicação, por exemplo, hoje quando você executa um comando SQL ou uma Procedure a aplicação fica travada até o momento em que a aplicação retorna o resultado do comando SQL. Com MultiThread, a aplicação não fica travada, permitindo você executar N consultas\procedures ao mesmo tempo, trabalhando em paralelo.
A diferença o MultiThread verdadeiro para o Single-threaded apartments é que o primeiro permite utilizar N processadores (Varias threads), pois utiliza área de memória diferente e o segundo utiliza apenas um processador (Uma thread), pois compartilha área de memória.
O processo de implementação do Single-threaded apartments é simples é funciona bem. Na verdade você tem que ter um objeto que é Thread, um para gerenciar o processo e outro para fazer a comunicação entre os dois.Para os interessados no código para essa implementação, me envie um comentário com o e-mail que eu repasso um pequeno exemplo dessa implementação.

5 comentários:

Johannes disse...

Legal isso. Controle?
Legal a iniciativa do Blog. Parabéns garouto!

Emerson disse...

Thiago,

Poderia me passar o exemplo da single-threaded? emerson.senco@gmail.com

Anônimo disse...

Cara voce pode me enviar este exemplo, eu consegui fazer sozinho o mult mas nao consigo fazer funcionar com acesso a dados.fccsp1969@gmail.com

Jeferson disse...

Boa tarde,

Quero colocar um gif animado em uma telinha de espera de pesquisa em minha aplicação, porém o gif não se mexe, pois acredito que precise de uma thread só pra ele enquanto a pesquisa é feita, porém não sei como fazer... Esse seu artigo resolve este problema.
Sou iniciante no PB ainda, se puder me ajudar com um exemplo agradeço ;-)

Abraço.



Daniel Brito Bretas disse...

Prezado Thiago, bom dia!

Sei que estou postando esta solicitação de ajuda com um certo atraso, mas se puder ajudar ficarei bastante agradecido. Tenho uma aplicação de de tempos em tempos fica lendo uma tabela para verificar se algo foi gravado, programei co evento Time, porém quando tem varias instâncias da aplicação em aberto, o sistema tenta incluir o registro várias vezes.

danielbbretas@gmail.com