Toon posts:

[VB.NET] hoe werken die threads?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer met vb.net een klein chatproggie te maken.
Maar hier heb ik dus helemaal geen kaas van gegeten.
Ik heb al de nodige voorbeelden bekeken, en ook al aardig wat hierover gelezen.Maar ik snap er vrijwel niks van.
Wat is een thread? en waarom een thread en sockets? daar begint het al mee.
Met de winsock van vb6 weet ik nog wel om te gaan.
maar hier snap ik niks van.
Wat ik dan ook graag wil bereiken, is een simpele client-server verbinding, en vervolgens wat tekst heen en weer slingeren.
Kan mij iemand uitleg geven over hoe dat nu eigenlijk werkt met die threads?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 04-09 23:45
Ik heb geen ervaring met welke .NET taal dan ook, maar ik doe toch een poging om het uit te leggen

Een thread kun je zien als een apart proces in je computer dat tegelijkertijd draait of net alsof doet of 'ie tegelijkertijd draait. Die dingen zijn hele fijne dingen, en ik zal je uitleggen waarom.

Stel : Je schrijft een webserver. Het is natuurljik niet de bedoeling dat als je een client hebt die een request doet dat heel lang duurt dat dan de andere clients nix meer kunnen doen omdat de server bezet is. Je zult dus meerdere processen (threads) aan moeten maken die onafhankelijk van elkaar de clients helpen. Daarnaast zal er ook nog een thread moeten zijn die de socket uit leest :) Snappie?

Als je nu nog niet snapt wat threads zijn dan moet je maar denken aan het klokje rechtsondeirn op je startbalk : dat ding is (terwijl ik aan het typen ben) alweer 3 minuten verder en loopt gewoon door TERWIJL ik bezig ben. Een apart proces dus. En DAAROM zijn threads handig :)

Ik hoop dat het zo wat duidelijker is ;)

  • Aaargh!
  • Registratie: Januari 2000
  • Laatst online: 21:21

Aaargh!

Bow for me for I am prutser

Op zondag 09 juni 2002 17:56 schreef MisterData het volgende:
Een thread kun je zien als een apart proces in je computer
Een thread en een process zijn 2 verschillende dingen, een thread draait binnen een process. threads draaien dus in hetzelfde geheugen gebied terwijl processen hun eigen geheugen hebben. elk multithreaded process heeft ook z'n eigen scheduler voor threads (in Unix iig, geen idee of dat in windows ook zo is)

Those who do not understand Unix are condemned to reinvent it, poorly.


  • MisterData
  • Registratie: September 2001
  • Laatst online: 04-09 23:45
Op zondag 09 juni 2002 18:21 schreef Aaargh! het volgende:

[..]

Een thread en een process zijn 2 verschillende dingen, een thread draait binnen een process. threads draaien dus in hetzelfde geheugen gebied terwijl processen hun eigen geheugen hebben. elk multithreaded process heeft ook z'n eigen scheduler voor threads (in Unix iig, geen idee of dat in windows ook zo is)
Maak het nou niet te ingewikkeld :+

Ik bedoelde geen process zoals die term wordt gebruikt bij Operating Systems (en dus zoals jij bedoelt) maar ik bedoelde eigenlijk gewoon proces in het nederlands. Maar toch bedankt ;)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Multi-threading is iets wat je niet zomaar moet uitproberen en zeker niet zomaar wat moet doen en daarna testen of het ongeveer werkt.

Multi-threading is in het bijzonder dus iets waar je echt even wat goed materiaal voor moet raadplegen omdat een gebrekkige kennis van multi-threading voor grote problemen zal zorgen.

Pak dus een goed boek of een goed artikel erbij of blijf er gewoon vanaf :) .

Op Javaworld is er dit weekend toevallig net een artikel verschenen over threads. Nu denk je wellicht: ik zei toch dat ik VB .NET gebruik, maar dat maakt geen klap uit: het concept van multi-threading en de problemen die zich daarbij voor doen zijn eigenlijk in alle talen hetzelfde. Uiteraard is het wel prettig als je een bron specifiek voor VB .NET hebt, maar ik weet op dat punt zo geen goede.

Deel 1:
http://www.javaworld.com/javaworld/jw-05-2002/jw-0503-java101.html
Deel 2:
http://www.javaworld.com/javaworld/jw-06-2002/jw-0607-java101.html

Als je echt geinteresseerd bent kan je het beste een boek aanschaffen over concurrent programming. Voor Java kan je dan bijvoorbeeld "Concurrent Programmingin Java" van Doug Lea aanschaffen en algemene bronnen kan je bijvoorbeeld hier vinden.

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


  • Aaargh!
  • Registratie: Januari 2000
  • Laatst online: 21:21

Aaargh!

Bow for me for I am prutser

Op zondag 09 juni 2002 22:05 schreef mbravenboer het volgende:
Als je echt geinteresseerd bent kan je het beste een boek aanschaffen over concurrent programming.
Concurrent programming is tof, vooral als je een opdracht krijgt die onmogelijk is. (we moesten een systeem bouwen en daar zaten een aantal eisen aan en die waren zo opgesteld dat het niet mogelijk was aan de eisen te voldoen zonder een deadlock situatie te creeren :P , de leraar stond ook ff met z'n mond vol tanden toen we 'm uitlegden dat de opdracht niet klopte :D)

Those who do not understand Unix are condemned to reinvent it, poorly.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Aaargh! : niet klopte
:D das dan een goede ondersteuning van m'n advies om maar eens een goed boek te pakken voordat je je vingers hieraan gaat branden: zelfs docenten hebben er moeite mee ;) .

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

Pagina: 1