Wat betekenen/doen deze dingen?

  • Onderwerp starter Onderwerp starter Agap
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Agap

Gebruiker
Lid geworden
1 nov 2010
Berichten
40
1: Thread
2: buffer/dubbel buffer
3: applet

Ik heb zelf een en ander opgezocht op internet, maar het was allemaal in het engels, en begreep het maar half.

Ik gebruik ze in de volgende context:
buffer:
Code:
//dubbel buffer graphics, om flikkeren te voorkomen
		imgBuf = createImage(maxX, maxY);
		gBuf = imgBuf.getGraphics();

Thread:

Thread updateT;
Code:
updateT = new Thread(this, "bla");

applet:
Code:
// method wordt gestart wanneer applet gerund wordt
	public void start()
	{
		if(updateT == null)
		{
			updateT = new Thread(this, "bla");
			updateT.start();
			startTijd = System.currentTimeMillis();
		}
	}

Owja, de uitleg wat erbij staat is wat ik zelf denk dat het stukje code doet, dit kan dus totaal fout zijn.
 
Laatst bewerkt:
met threads kan je tegelijkertijd meerdere handelingen doen. Bijvoorbeeld het binnenhalen van data via een stream/sockets (thead 1) en het continu updaten van je GUI (mainthread). Het voordeel hiervan is dus dat je tegelijkertijd meerdere handelingen kunt verrichten er zit alleen een maar aan. Vaak is het zo dat thread 1, gebruik maakt van onderdelen van thread 2. dan kun je dus race condities krijgen waardoor corrupt/incorrecte data ontstaat. Verder is er de mogelijkheid dat je deadlocks krijgt thread 1 wacht totdat thread 2 klaar is met z`n berekening terwijl thread 2 wacht op thread 1. Er zijn uiteraard mechanisme bedacht om zulke dingen te voorkomen synchronized blocks, semaphore en dergelijke.
Pas dus op als je multi-threaded gaat werken en je weet niet zeker wat je doet, maar laat dat je zeker niet stoppen want het interessante stof en zeker de uitdaging waard !
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan