Thread unterbrechen während er schläft



  • Folgendes hab ich geschrieben:

    public void run() {
    		while( true ) {
    			if( this.isInterrupted() ) {
    				System.out.println("interrupted...");
    				break;
    			}
    			try { Thread.sleep(100); } catch (Exception e ) { e.printStackTrace(); }
    			mw.my_repaint();
    		}
    	}
    

    Nur erhalte ich immer wieder die Exception:

    java.lang.InterruptedException: sleep interrupted
    at java.lang.Thread.sleep(Native Method)
    at stock_market.Painter.run(Painter.java:21)

    Mmmh, sieht so aus als ob ich eine schlafenden Thread nicht unterbrechen kann. Gibt es Alternativen oder kann ich das noch irgendwie reparieren ?



  • Okay ich habs selbst reparieren können.

    public void run() {
    		try {
    			while( true ) {
    				if( this.isInterrupted() ) 
    					break;
    				Thread.sleep(100);
    				mw.my_repaint();
    			}
    		 } catch ( InterruptedException e ) { 
    			 System.out.println("InterruptedException catched. Terminate thread.");
    		 }
    		 mw.dispose();
    	}
    

Anmelden zum Antworten