Toon posts:

[C++] Multithreading

Pagina: 1
Acties:

Verwijderd

Topicstarter
Kan iemand mij hier uitleggen wat het nu precies is en hoe het nu eigenlijk werkt. IK lees het overal maar heb nergens echt goede info over kunnen vinden

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

nou dan zoek je niet goed hoor

een thread loopt binnen een programma

als je 2 threads aanmaakt in een programma lopen deze naast elkaar en niet achter elkaar

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zaterdag 22 december 2001 14:18 schreef D2k het volgende:
nou dan zoek je niet goed hoor

een thread loopt binnen een programma

als je 2 threads aanmaakt in een programma lopen deze naast elkaar en niet achter elkaar
Aha, dus je hiermee kan je 2 dingen tegelijkertijd uitvoeren? En hoe moet je dit initialiseren dan ?

Verwijderd

Zie de handleiding van CreateThread voor win32 of fork voor posix achtige systemen. succ6!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zaterdag 22 december 2001 14:21 schreef Yarvieh het volgende:
Zie de handleiding van CreateThread voor win32 of fork voor posix achtige systemen. succ6!
nee niet fork
pthread_create()

oftewel pthreads
een fork is iets anders dan een thread :)

Doet iets met Cloud (MS/IBM)


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
D2k: als je 2 threads aanmaakt in een programma lopen deze naast elkaar en niet achter elkaar
Wat zei ik nou gisteren ;) :
Merk ook op dat er geen enkele garantie is dat Thread B uberhaupt aan bod komt. Het is mogelijk dat eerst heel Thread A wordt afgewerkt en pas daarna Thread B of andersom.
Dit is in de praktijk natuurlijk overdreven, maar het is erg link om maar aan te nemen dat een thread 'al wel ergens zal zijn' :) .

Voor de topic-starter:
Met threads kan je concurrent programmeren: de control-flow van een applicatie is meerstal een lineair verhaal. Met threads gaat de control flow gaat 'als het ware' naar meerdere locaties toe :) . Multi-threading kom je heel veel tegen, maar vaak is het voor standaard gebruik behoorlijk goed verstopt zodat je er geen last van hebt :) . Als je zelf multi-threading moet gaan gebruiken, moet je best wel wat verstand van concurrent stuff hebben...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

mbravenboer: Wat zei ik nou gisteren ;) :
Dit is in de praktijk natuurlijk overdreven, maar het is erg link om maar aan te nemen dat een thread 'al wel ergens zal zijn' :) .
ach hij heeft toch wel een multiprocessor systeem :)
dus dan lopen ze gelijk :P

Maar idd er is geen garantie
Voor de topic-starter:
Met threads kan je concurrent programmeren: de control-flow van een applicatie is meerstal een lineair verhaal. Met threads gaat de control flow gaat 'als het ware' naar meerdere locaties toe :) . Multi-threading kom je heel veel tegen, maar vaak is het voor standaard gebruik behoorlijk goed verstopt zodat je er geen last van hebt :) . Als je zelf multi-threading moet gaan gebruiken, moet je best wel wat verstand van concurrent stuff hebben...
tis idd lastig spul

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zaterdag 22 december 2001 14:24 schreef mbravenboer het volgende:

[..]

Wat zei ik nou gisteren ;) :
[..]

Dit is in de praktijk natuurlijk overdreven, maar het is erg link om maar aan te nemen dat een thread 'al wel ergens zal zijn' :) .

Voor de topic-starter:
Met threads kan je concurrent programmeren: de control-flow van een applicatie is meerstal een lineair verhaal. Met threads gaat de control flow gaat 'als het ware' naar meerdere locaties toe :) . Multi-threading kom je heel veel tegen, maar vaak is het voor standaard gebruik behoorlijk goed verstopt zodat je er geen last van hebt :) . Als je zelf multi-threading moet gaan gebruiken, moet je best wel wat verstand van concurrent stuff hebben...
[nieuwsgierigeaap mode]
Wat is concurrent stuff
[/nieuwgierigeaap mode]

Verwijderd

vervolg op mbravenboer en anderen:

Je zult bij multithreading ook aan synchronisatie, sceduling, etc moeten denken, via bijvoorbeeld mutexen of semaphoren. Met win32 heb je daarvoor bijvoorbeeld CreateMutex en onder linux zit 't bij pthreads (pthread_mutex_create ofzo).

Voor pthreads heb ik ooit wel eens een goede tutorial gezien. Dus zoek en je zult vinden: pthreads@google.com.

Voor Java kon je dacht ik een object synchronized maken, threads kan je joinen() etc. (MBravenboer zal daar wel het nodige over kunnen vertellen :) ). Dat soort mogelijkheden zit ook in c++ (nogal logisch, java roept dat indirect aan ;) ).

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Liquidus: Wat is concurrent stuff
Gewoon concurrent programmeren en alle theorie die daarmee te maken heeft: mutual exclusion, semaforen, monitoren, deadlock enzovoorts . Sorry dat ik het populair trachte uit te drukken ;) .

Als je dat allemaal goed wilt begrijpen moet je een goed boek erover kopen of een hele goede tutorial vinden... :)
D2k: ach hij heeft toch wel een multiprocessor systeem :) dus dan lopen ze gelijk :P .
Hehe ;) . Sorry dat ik bijdehand was :P .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
lnfinitive: Java: MBravenboer zal daar wel het nodige over kunnen vertellen :)
Omdat het vooral direct over C++ gaat zal ik even mijn mond houden ;) .

Als je toch graag iets over multi-threading en monitoren in Java wilt horen wil ik wel wat vertellen, maar je kan natuurlijk veel beter een goede tutorial erbij pakken:
http://java.sun.com/docs/books/tutorial/essential/threads/index.html

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

mbravenboer: Hehe ;) . Sorry dat ik bijdehand was :P .
mwoah ik was niet helemaal compleet
dus dan had je gelijk ;)

maar voor de starter ik heb allemaal links voor je maar daar kan ik vanaf 2 januari pas weer over beschikken als ik weer op de stage ben
maar google is your friend iig :)

Doet iets met Cloud (MS/IBM)

Pagina: 1