Java IllegalThreadStateException

Status
Niet open voor verdere reacties.

Chargeotto

Gebruiker
Lid geworden
22 aug 2007
Berichten
147
Onderstaande code gebruik ik bij een thread, die moet lezen of er iets ontvangen wordt van een socket verbinding.

Code:
    public void run()
    {
        while (true)
        {
            try
            {
                String line = in.readLine();

            }
            catch (Exception e)
            {
            }
        }
    }

Hierbij krijg ik deze error :(

java.lang.IllegalThreadStateException
at java.lang.Thread.start(Thread.java:595)

Iemand enig idee wat het probleem is? De error begint bij thread.start, en dan wordt dit uitgevoerd. Dus ik neem aan dat het probleem hier zit
 
Het probleem zit niet bij de code die je hier hebt gepost. Meestal is dit omdat er gegevens worden gewijzigd waar de Thread nog mee aan het werken is of omdat één Thread voortwerkt maar een andere die ermee verbonden is niet. Ik zie dat het teveel code is om alles te posten maar kan je toch wat meer geven. Bv. alle methoden die de run uitvoert.

P.S. Misschien weet je dit al maar ik wou toch even melden dat je best de "String line" buiten de while brackets declareert. Bij een String is het niet fout omdat Strings anders werken dan andere Objecten binnen java maar anders wordt er iedere keer een nieuw Object aangemaakt voor niets.
 
Het probleem zit niet bij de code die je hier hebt gepost. Meestal is dit omdat er gegevens worden gewijzigd waar de Thread nog mee aan het werken is of omdat één Thread voortwerkt maar een andere die ermee verbonden is niet. Ik zie dat het teveel code is om alles te posten maar kan je toch wat meer geven. Bv. alle methoden die de run uitvoert.

P.S. Misschien weet je dit al maar ik wou toch even melden dat je best de "String line" buiten de while brackets declareert. Bij een String is het niet fout omdat Strings anders werken dan andere Objecten binnen java maar anders wordt er iedere keer een nieuw Object aangemaakt voor niets.

Het probleem was opgelost. De run werd maar in 2 methodes uitgevoerd, alleen voerde hem per ongeluk nog een keer ergens uit, op een plek waar hij helemaal niet hoorde. En dat vond hij niet zo leuk ^^ Maar het is opgelost :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan