multithread no Harbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

multithread no Harbour

Mensagem por janio »

Pessoal,

Estou com um problema num sistema com MYSQL+MEDIATOR que vez por outra diz que a "conecção de rede foi perdida".

Pensei em resolver este problema com uma rotina simples que de tempos em tempos, 5 minutos digamos, ele abra uma tabela e a feche, apenas para manter a conecção com o servidor ativa.

Essa função simples seria com multithread certo? O problema é que nunca mim aventurei por isso pq até alguns dias atras eu estava no xharbour, e dizem que esse negocio num funciona direito nele.

Alguém teria um exemplo simples de multithread que poderia resolver esse meu problema?
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

multithread no Harbour

Mensagem por Itamar M. Lins Jr. »

Para checar de tempo em tempo, nem precisa de MT.
Use hb_idleadd()

Código: Selecionar todos

C:\fontes\SCI_WIN>hbmk2 -doc idleadd
TEMPLATE
--------
Function

NAME
----
hb_idleAdd()

CATEGORY
--------
API

SUBCATEGORY
-----------
Idle states

ONELINER
--------
Adds the background task.

SYNTAX
------
hb_idleAdd( <bAction> ) --> nHandle

ARGUMENTS
---------
<bAction> is a codeblock that will be executed during idle states.
There are no arguments passed to this codeblock during evaluation.

RETURNS
-------
<nHandle> The handle (an integer value) that identifies the task. This
handle can be used for deleting the task.

DESCRIPTION
-----------
hb_idleAdd() adds a passed codeblock to the list of background
tasks that will be evaluated during the idle states. There is no
limit for the number of tasks.

EXAMPLES
--------
nTask := hb_idleAdd( {|| SayTime() } )

SEEALSO
-------
hb_idleDel(), hb_idleState()
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

multithread no Harbour

Mensagem por Jairo Maia »

Olá Jânio,

Neste tópico tem inclusive exemplo com Idle e Multithread: Dos Error 64
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

multithread no Harbour

Mensagem por janio »

Por enquanto usando o exemplo do Jairo do link acima!

E ver se resolve o problema...

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Responder