Bonjour

Je cherche à tuer un thread java malgré le fait que celui-ci soit bloqué sur une opération d'E/S (Lecture dans un flux d'entrée). J'ai trouvé beaucoup de réponses sur le sujet mais aucune qui me convienne.
Pour le moment j'ai redéfinit la méthode interrupt() pour qu'elle ferme le flux d'entrée. Malheureusement mon programme se fige après être entré dans la méthode interrupt() (Si vous regardez le code il affiche la string"avant" mais pas "apres").
Pour le moment je ne vois aucune solution simple qui me permette de tuer le thread.
Qualqu'un aurait-il une idée??

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
67
68
69
70
71
72
73
 
	public void run()
	{
		try
		{
			this.priseClient=new Socket(this.adresseIp,2007);
 
			this.fluxOut=new PrintWriter(this.priseClient.getOutputStream());
 
			this.fluxIn=new BufferedReader(new InputStreamReader(this.priseClient.getInputStream()));
 
			while(true)
			{
				String messageServeur="";
 
				if(ModeleClient.interrupted())
				{
					return;
				}
				//Méthode bloquante qui lit les les envois du serveur (rencoi null si rien n'est lu)
				messageServeur=this.fluxIn.readLine();
 
				//si rien n'est lut car le flux est fermé
				if(messageServeur==null)
				{
					return;
				}
				//si le serveur envoie un message
				else if(messageServeur.length()>0)
				{	
					//on met à jour le forum de l'IHM
					this.fireForumChanged(messageServeur);
				}
			}
		}
 
		catch (IOException e)
		{
			e.printStackTrace();
			this.fireMessageErreur(e.getMessage());
		}
		finally
		{	
			this.fluxOut.close();
			try
			{
				this.fluxIn.close();
			}
			catch (IOException e)
			{			
				e.printStackTrace();
			}
		}
	}
	public void interrupt()
	{
		super.interrupt();
		try
		{
			System.out.println("avant");
			this.fluxIn.close();
			System.out.println("apres");
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
	}
 
	public void Deconnecter()
	{
		this.interrupt();
	}
Merci d'avance de vos réponses