Author Topic: [Release] Multithreading  (Read 8270 times)

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10695
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
[Release] Multithreading
« on: 2007-Jul-06 »
Code: GLBasic [Select]
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.
« Last Edit: 2008-May-10 by trucidare »

Offline WPShadow

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1667
    • View Profile
    • http://lostrevenant.blogspot.com
Multithreading
« Reply #1 on: 2007-Jul-06 »
Wie kann man das einsetzen? Wie kann ich mir das vorstellen?

W. <-- (verwirrt [VB - geschädigt])
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Offline bigsofty

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 2605
    • View Profile
Multithreading
« Reply #2 on: 2007-Jul-06 »
Threads are available in NO OTHER GAME BASIC, well done Gernot!

There's hope for my waisted 3800+ 2nd core yet ;)
Cheers,

Ian.

“It is practically impossible to teach good programming style to students that have had prior exposure to BASIC.  As potential programmers, they are mentally mutilated beyond hope of regeneration.”
(E. W. Dijkstra)

Offline trucidare

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1377
  • Bachelor of Fail
    • View Profile
Multithreading
« Reply #3 on: 2007-Jul-06 »
Supi klasse danke :) nun brauch ich das nichtmehr mit sdl zu tun
*in der luft umher spring*
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Offline tft

  • Mr. Polyvector
  • ***
  • Posts: 132
    • View Profile
Multithreading
« Reply #4 on: 2007-Jul-06 »
Hi....

wie sicher leuft das ? Und was ist mit einer CG? Oder handhabst du Variablen anders.

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10695
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Multithreading
« Reply #5 on: 2007-Jul-09 »
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.

Offline WPShadow

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1667
    • View Profile
    • http://lostrevenant.blogspot.com
Multithreading
« Reply #6 on: 2007-Nov-06 »
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?
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10695
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Multithreading
« Reply #7 on: 2007-Nov-06 »
Vergiss es. Die Threads synchronisieren kostet viel Zeit und Nerven.

PIXELstir

  • Guest
Multithreading
« Reply #8 on: 2007-Dec-10 »
Dazu braucht man aber zwingend die All In One Version von GLBasic, oder? Wegen Inline mein' ich.

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10695
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Multithreading
« Reply #9 on: 2007-Dec-10 »
Die aktuelle DEMO kann schon auch INLINE, oder? Bin mir nicht mehr 100% sicher, aber ich dachte das die nicht mehr Feature-Limited ist.

PIXELstir

  • Guest
Multithreading
« Reply #10 on: 2007-Dec-10 »
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ß ;)

Offline BumbleBee

  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 891
    • View Profile
Multithreading
« Reply #11 on: 2007-Dec-10 »
Ich weiß das auch nicht. Sonst  nimm halt noch das 3D Addon dazu. Dann ist es mit Sicherheit dabei.;)

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

PIXELstir

  • Guest
Multithreading
« Reply #12 on: 2007-Dec-10 »
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.

Offline Kitty Hello

  • code monkey
  • Administrator
  • Prof. Inline
  • *******
  • Posts: 10695
  • here on my island the sea says 'hello'
    • View Profile
    • http://www.glbasic.com
Multithreading
« Reply #13 on: 2007-Dec-10 »
INLINE ist nur in PREMIUM. Also: 2D, 3D+NET.
DEMO geht aber immer (120 sek)