Página 1 de 1

multithread no Harbour

Enviado: 25 Jul 2014 10:33
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?

multithread no Harbour

Enviado: 25 Jul 2014 11:27
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.

multithread no Harbour

Enviado: 25 Jul 2014 11:59
por Jairo Maia
Olá Jânio,

Neste tópico tem inclusive exemplo com Idle e Multithread: Dos Error 64

multithread no Harbour

Enviado: 25 Jul 2014 15:29
por janio
Por enquanto usando o exemplo do Jairo do link acima!

E ver se resolve o problema...

Janio