[Java] Current Thread Not Owner

Pagina: 1
Acties:
  • 154 views sinds 30-01-2008
  • Reageer

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Topicstarter
Wat is hier tegen te doen:

:?
Exception occurred during event dispatching:
java.lang.IllegalMonitorStateException: current thread not owner
at java/lang/Object.wait
Ik roep de thread aan vanuit een mouse-listener, maar dit kan dus niet.. :? ?

Verwijderd

Heb ik ook wel eens last van. Het gekke is dat ik 'em met hetzelfde programma de ene keer wel krijg, de andere keer niet. Weet niet hoe ik dat op moet lossen, maar er zal wel een soort van wrapper omheen moeten die info uit de runtime omgeving haalt.

(www.javasoft.com)

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Topicstarter
Op dinsdag 06 maart 2001 15:56 schreef NoGlory het volgende:
Heb ik ook wel eens last van. Het gekke is dat ik 'em met hetzelfde programma de ene keer wel krijg, de andere keer niet. Weet niet hoe ik dat op moet lossen, maar er zal wel een soort van wrapper omheen moeten die info uit de runtime omgeving haalt.

(www.javasoft.com)
de ene keer wel, andere keer niet??? vaag!

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Topicstarter
Het heeft volgens mij iets te maken met het feit dat ik de mouselistener als een anonymous class heb gedefineerd.

Iemand enig idee hoe ik dit het beste kan oplossen? b.v.d.

  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

*kick*

Ik heb hetzelfde probleem. Ik wil dat een while loop een pauze bevat van een seconde oid. Dus heb ik er this.wait(1000) tussen gezet. Maar dan krijg ik dus de IllegalMonitorStateException.

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


Verwijderd

Dan wel even synchronizen op this... dan ben je van het probleem af

Java:
1
2
3
4
synchronized(this)
{
    this.wait(1000);
}

Verwijderd

docs IllegalMonitorStateException:
Thrown to indicate that a thread has attempted to wait on an object's monitor or to notify other threads waiting on an object's monitor without owning the specified monitor.
docs Object::notify():
A thread becomes the owner of the object's monitor in one of three ways:
• By executing a synchronized instance method of that object.
• By executing the body of a synchronized statement that synchronizes on the object.
• For objects of type Class, by executing a synchronized static method of that class.
Ik zou zeggen dat een van die drie laatste gevallen voor een andere thread (T1) geldt waardoor het object zelf (in T2) geen wait meer kan doen?
Pagina: 1