Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 19:45

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Multithreading

Discussion on Multithreading within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
Multithreading

Code:
$handle = DllCallbackRegister("_Threadstart","int","ptr")
$handlr = DllCallbackRegister("_Threadstard","int","ptr")

$dll = DllStructCreate("Char[200];int")
DllStructSetData($dll,1,"hi")
DllStructSetData($dll,2,1234)


$ret = DllCall("kernel32.dll","hwnd","CreateThread","ptr",0,"dword",0,"long",DllCallbackGetPtr($handle),"ptr",DllStructGetPtr($dll),"long",0,"int*",0)
DllCall("kernel32.dll","hwnd","CreateThread","ptr",0,"dword",0,"long",DllCallbackGetPtr($handlr),"ptr",DllStructGetPtr($dll),"long",0,"int*",0)
msgbox (0,"","1")

Func _ThreadStart($x)
    For $i = 1 To 1
        msgbox (0,"","2")
        Sleep(100)
    Next
    
    exit
    
EndFunc
Func _ThreadStard($x)
    For $i = 1 To 1
        msgbox (0,"","3")
        Sleep(100)
    Next
    
    exit
    
EndFunc
SCORNI is offline  
Thanks
1 User
Old 09/16/2009, 17:06   #2
 
InToxic's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 105
Received Thanks: 31
Du kannst echt gut copy & pasten!
InToxic is offline  
Old 09/16/2009, 19:15   #3
 
Xereon's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
Quote:
Originally Posted by SCORNI View Post
Code:
$handle = DllCallbackRegister("_Threadstart","int","ptr")
$handlr = DllCallbackRegister("_Threadstard","int","ptr")

$dll = DllStructCreate("Char[200];int")
DllStructSetData($dll,1,"hi")
DllStructSetData($dll,2,1234)


$ret = DllCall("kernel32.dll","hwnd","CreateThread","ptr",0,"dword",0,"long",DllCallbackGetPtr($handle),"ptr",DllStructGetPtr($dll),"long",0,"int*",0)
DllCall("kernel32.dll","hwnd","CreateThread","ptr",0,"dword",0,"long",DllCallbackGetPtr($handlr),"ptr",DllStructGetPtr($dll),"long",0,"int*",0)
msgbox (0,"","1")

Func _ThreadStart($x)
    For $i = 1 To 1
        msgbox (0,"","2")
        Sleep(100)
    Next
    
    exit
    
EndFunc
Func _ThreadStard($x)
    For $i = 1 To 1
        msgbox (0,"","3")
        Sleep(100)
    Next
    
    exit
    
EndFunc
Eh lol und was soll ich jetzt damit?
Für Multi Threading habe ich eine UDF, wofür also dein kleiner Code in dem sich nochnichtmal eine Funktion befindet um einen Thread zu schließen
Xereon is offline  
Old 09/16/2009, 19:40   #4
 
elite*gold: 20
Join Date: Jan 2009
Posts: 762
Received Thanks: 208
Ihr wist doch schon das das ein Beispiel ist wie man mehrer funktionen gleichzeitig aufrufen kann
~Freaky~ is offline  
Old 09/16/2009, 20:08   #5
 
InToxic's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 105
Received Thanks: 31
Quote:
Originally Posted by ~Freaky~ View Post
Ihr wist doch schon das das ein Beispiel ist wie man mehrer funktionen gleichzeitig aufrufen kann
Nein wirklich?
InToxic is offline  
Old 09/16/2009, 22:26   #6
 
elite*gold: 20
Join Date: Jan 2009
Posts: 762
Received Thanks: 208
Kann ja sein weil wen man sich das jetz durchliest wirkt es anders ^^aber egal
~Freaky~ is offline  
Old 09/17/2009, 14:01   #7
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
Quote:
Originally Posted by Xereon View Post
Eh lol und was soll ich jetzt damit?
lol hab ich gesagt du sie benutzen musst ?
SCORNI is offline  
Old 09/17/2009, 14:05   #8
 
Xereon's Avatar
 
elite*gold: 0
Join Date: Apr 2009
Posts: 793
Received Thanks: 366
Quote:
Originally Posted by SCORNI View Post
lol hab ich gesagt du sie benutzen musst ?
Da du ja meintes das du das hier Pupblic machen müsstes, war der Sinn dahinter das wir das da benutzen sollen, falls wir es benötigen.
Jedoch gibt es eine viel bessere und ausführlichere UDF als dieses "Ding" was du da losgelassen hast.

Beim nächsten bitten nachdenken und google benutzen -.-
Xereon is offline  
Old 09/17/2009, 14:58   #9
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
multithreading bei autoit hat keinen sinn. denn der thread a muss auf die antwort von b warten und deshalb kann man nix doppeltso schnell erreichen. bin grad dran ne multitasking udf zu machen das dauert aber wohl noch ein bischen
SCORNI is offline  
Old 09/17/2009, 17:57   #10
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by SCORNI View Post
multithreading bei autoit hat keinen sinn.
Warum hat Multithreading bei AutoIT keinen Sinn ?
Das ist genauso wie wenn du sagen würdest Multithreading in C++ hat keinen Sinn .
Multithreading in AutoIT hat sehr wohl Sinn !
Vielleicht ist es schwerer das umzusetzten , aber möglich und auch vollkommen sinnvoll ...

Eine kleine Erklärung was der Code Stück für Stück macht wäre nett .....
Ansonsten würde ich gleich sagen , weg damit , da das sowieso die meisten nicht verstehen und die , die es verstehen habe sich etwas derartiges in 10 min selber gebastelt ....
Shadow992 is offline  
Old 09/17/2009, 19:53   #11
 
Shadowz75's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 443
Received Thanks: 597
Quote:
It is well documented that AutoIt won't Multi thread. Good attempt! Keep learning!
Volly(AU3 MVP)

Vergesst es, der Autoit Interpreter interpretiert den Code falsch. Dabei kommen solche Fehler:
- Der Thread wird zweimal gestartet
- Stack Errors
- Beim Schließen des Threads wird das Programm beendet

Wenn ihr gescheit Multithreading benutzen wollt, dann lernt eine .Net Sprache, Java oder C++
Shadowz75 is offline  
Old 09/17/2009, 20:08   #12
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
@shadow
multithreading hat in autoit wirklich nicht so viel sinn versuch mal so eine udf zu basteln.
das einzige was klappen könnte währe multitasking ist aber nicht gerade leicht umzusetzen den gedanken
SCORNI is offline  
Old 09/17/2009, 20:30   #13
 
Shadowz75's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 443
Received Thanks: 597
Doch genauso wie in Hochsprachen kann man dadurch für die GUI einen extra Thread erstellen, dadurch wird die GUI nicht geblockt
Shadowz75 is offline  
Old 09/18/2009, 12:29   #14
 
SCORNI's Avatar
 
elite*gold: 26
Join Date: Jun 2009
Posts: 972
Received Thanks: 228
sowas wie eine gui ....
ich hatte da mehr an sowas wie einen passwortcracker gedacht, es hat auch geklappt aber leider nur mit einem thread und deshalb dauert es dann schon länger -.-
SCORNI is offline  
Old 03/17/2010, 17:08   #15
 
elite*gold: 0
Join Date: Jan 2010
Posts: 70
Received Thanks: 97
Leute habe was echt krasses gesehen ich zocke gerade mit Hotkey hackin Qua. regen und dann kommt einer rein und machtmal eben 600 kills
was ist dasfürein hack ??
ist der neu
weilo er meinte er hat ihn selfgecodedt was ich nicht glaube
MFG Fuminik
Killer136 is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
C++ Multithreading + Klassen
01/16/2010 - C/C++ - 8 Replies
Mein Problem ist es , dass ich eine Klasse habe (nehmen wir als Beispiel Auto) und eine Funktion (Beispiel : BremswegBerechnen) habe , die aber in einem extra Thread laufen soll . Also so in etwa : . . . int main() { CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)BM W.BremswegBerechnen, 0, 0, 0);



All times are GMT +1. The time now is 19:45.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.