que la podéis localizar en /contrib/hbxpp/tthreadx.prg , para manejar los threads igual que
xBase++
En Internet, he localizado un documento en inglés,MultiThreading xBase++
He realizado un simple ejemplo del documento, y funciona perfectamente en Harbour,
para compilar hbmk2 test_xbase.prg -mt hbxpp.hbc
#include "hbthread.ch"
FUNCTION Main()
LOCAL oThread, lThread1Active := .f., lThread2Active := .f.
oThread := Thread():new()
Sleep(1)
oThread:start({||ThreadLoop( @lThread1Active) } )
oThread := Thread():new()
Sleep(1)
oThread:start( {||ThreadLoop( @lThread2Active ) } )
DO WHILE lThread1Active .OR. lThread2Active
Sleep(1)
ENDDO
WAIT
RETURN nil
STATIC FUNCTION ThreadLoop( lActive )
LOCAL i
lActive := .t.
FOR i := 1 TO 5
? 'I am running in thread ' + Alltrim(Str(hb_ThreadId()))
hb_idleSleep(1.5)
NEXT
lActive := .f.
RETURN nil
No hay comentarios:
Publicar un comentario