[?] ¿Multithread?

Iniciado por MeCraniDOS, 23 Agosto 2013, 13:10 PM

0 Miembros y 1 Visitante están viendo este tema.

MeCraniDOS

Buenas, pues es una pregunta un poco concreta, hay alguno de estos lenguaje que sea multithread?

  • Perl
  • Python
  • Ruby

    Tengo un proyecto casi acabado en AutoIt3 y no es multithread, por lo que no funciona como quiero que funcione, y no puedo continuar, quería saber si alguno de esos 3 lenguajes es multithread y sea compatible con AutoIt, tengo casi 2.000 lineas en autoit y traducirlo a otro lenguaje...  :-\

    Mi idea era poder hacer lo siguiente, incluir los archivos *.au3, e ir llamando a las funciones creando threads desde otro lenguaje que soporte au3  :-\ :-\

    Se que con C/C++ lo de los threads es sencillo, pero la interfaz gráfica la tengo hecha con AutoIt y no se si se puede utilizar , y crear mas de un exe e ir llamándolos es un coñazo  :¬¬ :¬¬
    [/size]
"La física es el sistema operativo del Universo"
     -- Steven R Garman

79137913

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

Danyfirex

Con Autoit lo puedes hacer sin usar threads  :rolleyes:

MeCraniDOS

Cita de: Danyfirex en 24 Agosto 2013, 23:17 PM
Con Autoit lo puedes hacer sin usar threads  :rolleyes:

Con AutoIt no puedo llamar a mas de una función a la vez  :silbar:
"La física es el sistema operativo del Universo"
     -- Steven R Garman

Danyfirex

la respuesta ya ye la di en otros temas.  :rolleyes:

Tambien se pueden crear hilos. aunque no estables al 100%

Código (php) [Seleccionar]
$Handle1 = DllCallbackRegister("hilo", "int", "ptr")

Func CreateThread($Handle, $struct)
$return = DllCall("kernel32.dll", "hwnd", "CreateThread", "ptr", 0, "dword", 0, "long", DllCallbackGetPtr($Handle), "ptr", DllStructGetPtr($struct), "long", 0, "int*", 0)
Return $return[0]
EndFunc

$Struct1 = DllStructCreate("Char[200];int")
DllStructSetData($Struct1, 1, 10)
CreateThread($Handle1, $Struct1)



MsgBox(0x40, "Normal", "Hola mundo")

Func hilo($x)
$y = DllStructCreate("char[200];int", $x)
MsgBox(0x40, "Desde hilo", "Soy un hilo")
EndFunc




saludos

MeCraniDOS

Cita de: Danyfirex en 24 Agosto 2013, 23:59 PM
Tambien se pueden crear hilos. aunque no estables al 100%

Perfecto  ;-)
Las funciones tienen que estar en una Dll o algo? o como funciona el código que me has puesto  :huh:
"La física es el sistema operativo del Universo"
     -- Steven R Garman

Danyfirex

Prueba el código cual dll?  :rolleyes:

aunque con ya te dije en otro tema con AdliRegister solucionas el problema :)

MeCraniDOS

Cita de: Danyfirex en 25 Agosto 2013, 01:05 AM
Prueba el código cual dll?  :rolleyes:

aunque con ya te dije en otro tema con AdliRegister solucionas el problema :)

Entonces que es mejor usar  :huh: :huh:

Esto?


Código (vbnet) [Seleccionar]
$Handle1 = DllCallbackRegister("hilo", "int", "ptr")

Func CreateThread($Handle, $struct)
$return = DllCall("kernel32.dll", "hwnd", "CreateThread", "ptr", 0, "dword", 0, "long", DllCallbackGetPtr($Handle), "ptr", DllStructGetPtr($struct), "long", 0, "int*", 0)
Return $return[0]
EndFunc

$Struct1 = DllStructCreate("Char[200];int")
DllStructSetData($Struct1, 1, 10)
CreateThread($Handle1, $Struct1)



MsgBox(0x40, "Normal", "Hola mundo")

Func hilo($x)
$y = DllStructCreate("char[200];int", $x)
MsgBox(0x40, "Desde hilo", "Soy un hilo")
EndFunc


O Esto?

Código (vbnet) [Seleccionar]

AdlibRegister("Tufuncion",10*1000)


;aqui tu codigo para Buscar



Func Tufuncion()
;aqui el codigo para clikear.
EndFunc


Saludos  :rolleyes:
"La física es el sistema operativo del Universo"
     -- Steven R Garman

Danyfirex

Para lo que quieres esto es suficiente.

Código (php) [Seleccionar]
AdlibRegister


saludos

MeCraniDOS

Si, la función es muy simple y fácil de usar, ya he solucionado el problema

Gracias  :silbar:
"La física es el sistema operativo del Universo"
     -- Steven R Garman