Puzzel Puzzels
Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Thread in java laten slapen tot er een nieuwe waarde v/e variabele is

Graag had ik een stukje code, in java, gevonden op internet gedebugd. Meer bepaald zou ik graag een variabele volgen en dus printen tijdens de uitvoering van het program. Hiervoor heb ik het program in eclipse gebracht en van hier uit run ik het.

Nu heb ik in de classe waarin ik de variablen wil volgen Runnable geïmplementeerd deze start een thread op moment de class initiator hier een object van maakt.

Deze thread moet nu mijn variabelen printen echter het continue printen geeft niks, of iets wat niet te volgen is daarom dacht ik eraan dat ik op één of ander manier de thread zou moet kunnen laten slapen zolang de variabele niet veranderd is en enkel dan laten printen op moment er een nieuwe waarden is.

Hoe doe ik dat? Groeten.

ads

Steun Sciencetalk bol cadeaukaart - 20 euro - Bedankt!

bol cadeaukaart - 20 euro - Bedankt!

Bekijk product

Steun Sciencetalk STAEDTLER Lumocolor whiteboard marker ronde punt - box 4 kleuren

STAEDTLER Lumocolor whiteboard marker ronde punt - box 4 kleuren

Bekijk product

Steun Sciencetalk Systemyze Familieplanner Basic 2026 - Planner - Weekplanner - Gezinsplanner - Family Planner - 13 Maanden - Grijs

Systemyze Familieplanner Basic 2026 - Planner - Weekplanner - Gezinsplanner - Family Planner - 13 Maanden - Grijs

Bekijk product

Gebruikersavatar
317070
Artikelen: 0
Berichten: 5.612
Lid geworden op: za 28 feb 2009, 17:05

Re: Thread in java laten slapen tot er een nieuwe waarde v/e variabele is

Dit klinkt alsof je een Event-systeem wilt hebben?

De variabele inpakken in een grotere klasse, met daarin het systeem dat je wilt zou de truc moeten doen. Of als de variabele al een PropertyChangeListener heeft, gewoon die gebruiken.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-
Scispace Scispace

Scispace is dé ai voor wetenschappers en onderzoekers. Ga naar SciSpace en profiteer van één van de beste ai's.

Scispace

Nvt
Artikelen: 0
Berichten: 99
Lid geworden op: di 17 jul 2007, 06:20

Re: Thread in java laten slapen tot er een nieuwe waarde v/e variabele is

Voor threading:

http://java.sun.com/docs/books/tutorial/es...ency/index.html

Zie eventueel: Pausing Execution with Sleep

;)
Bert F
Artikelen: 0
Berichten: 2.589
Lid geworden op: vr 15 aug 2003, 20:37

Re: Thread in java laten slapen tot er een nieuwe waarde v/e variabele is

Bedankt.
Dit klinkt alsof je een Event-systeem wilt hebben?
Wat bedoel je daar mee? Groeten.
Gebruikersavatar
317070
Artikelen: 0
Berichten: 5.612
Lid geworden op: za 28 feb 2009, 17:05

Re: Thread in java laten slapen tot er een nieuwe waarde v/e variabele is

Wat bedoel je daar mee? Groeten.
Dat iedere keer als er een waarde gecreëerd wordt, je wil dat er een event gegenereerd wordt. In dat event, kun je dan bijvoorbeeld de variabele afdrukken.

Maar hoeveel weet je al van Java?

Anders moet je in plaats van Thread, misschien gewoon een SwingWorker maken? Deze zijn veel handiger dan Threads...
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-
Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Thread in java laten slapen tot er een nieuwe waarde v/e variabele is

Hoe wordt de variabele veranderd?

Als het gebeurt in een methode (bv setVar(int newValue) of zoiets)

kan je misschien gebruik maken van 'wait()' en 'notify()'

Je maakt ergens een dummy object aan: 'dummy'.

In je printende Thread doe je :

while (true)

{

println(var);

dummy.wait(); //de thread wordt nu gepauzeerd tot iemand dummy.notify() oproept.

}

In de setVar() methode zet je na alles wat er in die methode staat:

dummy.notify();

Als de variabele gewoon overgeschreven wordt zonder gebruik te maken van een methode, dan werkt bovenstaand proces natuurlijk niet.
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian

ads

Steun Sciencetalk Double A Premium printpapier ft A4, 80 g - 2500 vellen (Doos met 5 pakken van 500 vel)

Double A Premium printpapier ft A4, 80 g - 2500 vellen (Doos met 5 pakken van 500 vel)

Bekijk product

Steun Sciencetalk Loesje scheurkalender - 2026

Loesje scheurkalender - 2026

Bekijk product

Steun Sciencetalk HP 280M - Draadloze Muis - Extra stil - Ergonomisch - Zwart

HP 280M - Draadloze Muis - Extra stil - Ergonomisch - Zwart

Bekijk product

Plaats een reactie

Je mail wordt niet openbaar getoond. Het wordt enkel gebruik voor contact of notificatie vanuit het beheer.

🗨️ Wat vind jij? Stel direct je vraag of geef je mening – zonder registratie. Je reactie zet het topic weer bovenaan bij 'Laatste posts' en trekt snel nieuwe reacties aan🔥. Mocht je als vaste bezoeker willen reageren, dan kun je je ook registreren.

Bevestig dat je geen robot bent door de volgende vragen te beantwoorden.

Noor heeft 10 knikkers. Ze verliest er 4 in het gras. Hoeveel heeft ze er nog?

Antwoord: (vul een getal in)

Er zitten 5 vogels op een hek. Twee vliegen weg. Hoeveel blijven er zitten?

Antwoord: (vul een getal in)

Terug naar “Informatica en programmeren”

Sciencetalk: Leer, deel of groei. Volg of geef een cursus op Sciencetalk!