Página 1 de 1
Multi Thread no xHarbour e Variáveis
Enviado: 18 Mar 2013 17:06
por daniel_adm
Olá,
Estou precisando criar uma aplicação multi thread no xHarbour e estou encontrando uma dificuldade: As variáveis do programa-pai não são visíveis na thread filha, sendo que preciso destas variáveis na thread filha.
Apenas se eu alterar o tipo de todas as variáveis necessárias para GLOBAL elas serão visíveis. Nem variáveis PUBLICAS não são visíveis. Isto está correto? Há outra solução?
Atenciosamente,
Daniel Bernardino
Multi Thread no xHarbour e Variáveis
Enviado: 18 Mar 2013 17:59
por Pablo César
Oi Daniel, seja bem vindo ao fórum !
daniel_adm escreveu:Apenas se eu alterar o tipo de todas as variáveis necessárias para GLOBAL elas serão visíveis. Nem variáveis PUBLICAS não são visíveis. Isto está correto? Há outra solução?
Variáveis do tipo PUBLIC serão vistas em todo os módulos do seu programa feito em xHarbour. Porém estas variáveis sobrecarregam o sistema e são mais lentas de acessar.
Estou precisando criar uma aplicação multi thread no xHarbour e estou encontrando uma dificuldade: As variáveis do programa-pai não são visíveis na thread filha, sendo que preciso destas variáveis na thread filha.
O que você ode fazer é chamar a função da thread filha passando parâmetros das variáveis que estaria precisando e assim mantendo as variáveis do Main no tipo de variavel "Local". Lembre você até pode passar vetores e até mesmo por referência para que não duplique na memória.
Multi Thread no xHarbour e Variáveis
Enviado: 18 Mar 2013 18:08
por daniel_adm
Pablo,
Obrigado pela rápida resposta (tá melhor que o suporte do xHarbour).
Eu queria saber se existe outra alternativa (tipo na compilação), porque são muitas variáveis que vou precisar no processo filho e fica quase que inviável passar todas elas por parâmetro.
Se não tiver outra alternativa, vou ter que fazer isto mesmo.
Achei estranho o novo processo não reconhecer nenhuma variável do programa-pai, mas como não estou habituado a trabalhar com MT, fiquei na dúvida.
Me deixe saber se há alguma outra alternativa. Estou usando o comando StartThread(), mas às vezes existe outro comando que herda as variáveis do programa-pai.
At.
Daniel
Multi Thread no xHarbour e Variáveis
Enviado: 18 Mar 2013 18:26
por Pablo César
Oi Daniel, desculpe talvez a minha informação naõ esteja de acordo com o que você está procurando. Visto que eu nunca usei MT. Mas aqui no fórum (pesquisa avançada) encontrei algo que talvez interessa a você:
https://pctoledo.org/forum/viewto ... 362#p70929
https://pctoledo.org/forum/viewto ... 80&start=0
Multi Thread no xHarbour e Variáveis
Enviado: 19 Mar 2013 11:14
por daniel_adm
Pablo,
Já havia lido estes posts.
Vou "quebrar cabeça" mais um pouco e se não der certo vou acabar crendo que realmente o MT no xHarbour não está 100%.
Valeu!
Daniel
Multi Thread no xHarbour e Variáveis
Enviado: 20 Mar 2013 06:36
por sygecom
Ola Daniel,
Esse comportamento das variaveis estão corretos sim, o problema no MT do xHarbour é os GPF que da sem explicação alguma em qualquer parte do sistema, no Harbour é estavel.