tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
325
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von F22
    F22 F22 ist offline Rookie
    Registriert seit
    Feb 2010
    Beiträge
    5
    Hi

    ich habe folgendes Problem. Ich habe in einer Klasse intern 2 Threads deklariert und instanzitiert aber wenn ich einen dieser beiden Threads beende werden beide geschlossen, obwohl ich möchte dass der andere weiterläuft. Ich finde leider den Fehler nicht.

    Hat jemand vl ne idee?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    
    public class SysInfo extends JFrame
    {
        private static care thread_control;
        private static time thread_time;
        ....
            
            SysInfo(String title) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException, AWTException
        {
                    ...
                    thread_time = new time();
                    ....
            button.addActionListener(new ActionListener() {
     
                           public void actionPerformed(ActionEvent event) {
                                    
                        //chart.setVisible(true);       
                            thread_control = new care();
                            thread_control.start();
                          // cb1.setState(true);
                    }
                    });
            
            chart = new JChart("Workload");
            
            
            class CMeinWindowLauscher extends WindowAdapter
            {           
                public void windowClosing(WindowEvent e)
                {
                    //chart.setVisible(false);
                    //cb1.setState(false);
                    thread_control.suspend();
                    
                }
            }
            chart.addWindowListener(new CMeinWindowLauscher());
            }
     
           public static void main(String[] args) throws Exception 
           {
                 ...
                 thread_time.start();
                 
           }
     
           class care extends Thread
        {
            public void run()
            {
                while(true)
                    {
                             ....       
                    }
             }
        }
        
        class time extends Thread
        {
            public void run(){
                while(true)
                {
                    ...
                }
            }
        }
    }



    Danke für die Hilfe
    xD
    Geändert von F22 (17.02.10 um 13:17 Uhr)
     
    <Patrician|Away> was macht dein roboter, bovril?
    <bovril> er sammelt daten über seine umgebung, löscht diese dann wieder und fährt gegen die wand

  2. #2
    fassy fassy ist offline Mitglied Bronze
    Registriert seit
    Jan 2010
    Beiträge
    42
    Sorry, dein Code ist höchst unverständlich.

    Erstens - Klassennamen schreibt man im CamelCase mit dem ersten Buchstaben als Großbuchstaben.

    Zweitens Threads stoppen macht man in der Regel über einen Flag

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    class Time extends Thread {
       private volatile boolean isStopped = false;
     
      public void run(){
         while(!isStopped){
         // do something
       }
      }
      public void stopThread(){
          this.isStopped = true;
      }
    }

    Was soll dein Programm den überhaupt machen?
     

  3. #3
    Avatar von F22
    F22 F22 ist offline Rookie
    Registriert seit
    Feb 2010
    Beiträge
    5
    Ja entschuldigung ich bin Schüler also bitte ein bisschen Nachsicht. xD
    Hab noch nicht soviel Erfahrung.
    Vielen Dank für die Hilfe
     
    <Patrician|Away> was macht dein roboter, bovril?
    <bovril> er sammelt daten über seine umgebung, löscht diese dann wieder und fährt gegen die wand

  4. #4
    Avatar von F22
    F22 F22 ist offline Rookie
    Registriert seit
    Feb 2010
    Beiträge
    5
    Vielen Dank für die Hilfe. xD
    Funktioniert sehr gut.
     
    <Patrician|Away> was macht dein roboter, bovril?
    <bovril> er sammelt daten über seine umgebung, löscht diese dann wieder und fährt gegen die wand

Ähnliche Themen

  1. Servlet Container beendet threads nicht
    Von 'GreenDragon' im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 3
    Letzter Beitrag: 21.12.09, 15:30
  2. Zwei Divs, beide 100% höhe
    Von aTa im Forum CSS
    Antworten: 2
    Letzter Beitrag: 14.04.09, 14:16
  3. Zwei Tabellen, beide Emailadressen, nichtenthaltene der T. anzeigen
    Von exitboy im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 06.09.07, 08:44
  4. Antworten: 1
    Letzter Beitrag: 24.03.07, 20:05
  5. PS CS2 Ebene kopiert und beide werden gespiegelt
    Von Jan-Frederik Stieler im Forum Photoshop
    Antworten: 7
    Letzter Beitrag: 23.02.06, 19:36

Stichworte