[java] Ligne qui bloque tout mon programme

Ligne qui bloque tout mon programme [java] - Java - Programmation

Marsh Posté le 15-02-2013 à 12:27:11    

Bonjour !
 
Parfois quand je me déconnecte d'internet ou quand ma box plante, le thread que j'ai créé ne se termine tout simplement jamais.
D'après mes recherches, cela vient de la ligne connection.getInputStream() qui attend tout simplement un EOF (end of file) qui n'arrive jamais puisque la connexion est rompue.
 
J'essaye donc par tout les moyen de stopper cette &*!?% de ligne mais rien n'y fait je galère depuis au moins 3 jours...
 
En gros je lance mon thread et 20 secondes plus tard, j'utilise L.interrupt dans le cas où mon thread n'est pas terminé mais ça ne fonctionne tout simplement pas.
 
Comment puis-je y remedier ?
 

Code :
  1. public static void jelancecettefonction()
  2. {
  3. Thread t = new thread();
  4. t.start();
  5. Syst.sleep(20000);
  6. System.out.println("interruption !" );
  7. t.interrupt();
  8. }
  9. public void run()
  10. {
  11. System.out.print("debut thread !" );
  12. try
  13. {
  14.  for(int a=0;a<20;a++)
  15.  {
  16.   System.out.println("a" );
  17.   HttpURLConnection connection = null;
  18.   System.out.println("b" );
  19.   URL url = new URL("http://192.168.1.1/index.cgi/" );
  20.   System.out.println("c" );
  21.   connection = (HttpURLConnection) url.openConnection();
  22.   System.out.println("d" );
  23.   BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  24.   System.out.println("e" );
  25.  }
  26. }
  27. catch(Exception e)
  28. {
  29.  System.out.print("Le thread s'est terminé par une exception." );
  30. }
  31. System.out.print("fin thread !" );
  32. }


 
Merci d'avance si vous pouvez m'aider !
 
Cordialement,
Reywas

Reply

Marsh Posté le 15-02-2013 à 12:27:11   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed