GLOBAL magicnumber
StartThread()
WHILE TRUE
PRINT magicnumber, 100, 100
SHOWSCREEN
WEND
FUNCTION foo:
ENDFUNCTION
INLINE
extern "C" unsigned int _beginthread(void*, unsigned int stacksize, void* args);
void ThreadFunc( void *dummy ) {MyThreadSub();}
ENDINLINE
FUNCTION StartThread:
INLINE
_beginthread((void*)ThreadFunc, 0,NULL);
ENDINLINE
ENDFUNCTION
SUB MyThreadSub:
WHILE TRUE
magicnumber = RND(1024)
WEND
ENDSUB
Ohne Garantie, aber es läuft.
Wie kann man das einsetzen? Wie kann ich mir das vorstellen?
W. <-- (verwirrt [VB - geschädigt])
Threads are available in NO OTHER GAME BASIC, well done Gernot!
There's hope for my waisted 3800+ 2nd core yet ;)
Supi klasse danke :) nun brauch ich das nichtmehr mit sdl zu tun
*in der luft umher spring*
Hi....
wie sicher leuft das ? Und was ist mit einer CG? Oder handhabst du Variablen anders.
Wenn Du auf (CG = common global?) zugreiffen möchtest, solltest Du synchronization objects einsetzten (CriticalSection oder Mutex).
Wenn Du's nicht findest, kann ich auch mal was dazu suchen.
Du solltest vermeiden GLBasic Befehle aufzurufen, da die sicher nicht MT safe sind. Wenn 2 Threads gleichzeitig auf SPLITSTR oder so zugreifen, ist warscheinlich Feierabend.
Frage am Rande: Würde man mit diesem Verfahren auch Ladegeschwindigkeiten erhöhen? z.B. 2 Subs, in denen unterschiedliche Objekte in den Speicher geladen werden?
Vergiss es. Die Threads synchronisieren kostet viel Zeit und Nerven.
Dazu braucht man aber zwingend die All In One Version von GLBasic, oder? Wegen Inline mein' ich.
Die aktuelle DEMO kann schon auch INLINE, oder? Bin mir nicht mehr 100% sicher, aber ich dachte das die nicht mehr Feature-Limited ist.
Jaja, das ist kein Problem. Ich mein bloss weil ich erstmal 2D machen möchte mit Multiplattform Support werde ich eventuell nur Lite+Net Addon bestellen und da wär INLINE dann nicht dabei, oder? Nur damit ich das weiß ;)
Ich weiß das auch nicht. Sonst nimm halt noch das 3D Addon dazu. Dann ist es mit Sicherheit dabei.;)
Cheers
Meine Geldmittel sind leider begrenzt, naja mal sehen was nach den Weinachtseinkäufen so übrig bleibt. Im Prinzip brauch ich INLINE ja auch nicht unbedingt.
INLINE ist nur in PREMIUM. Also: 2D, 3D+NET.
DEMO geht aber immer (120 sek)