Client server
Résolu/Fermé
adamsjilal
Messages postés
46
Date d'inscription
lundi 14 mars 2016
Statut
Membre
Dernière intervention
29 avril 2018
-
9 févr. 2017 à 13:43
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 9 févr. 2017 à 22:14
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 9 févr. 2017 à 22:14
A voir également:
- Client server
- Orange service client - Guide
- Formate pour taxer client 500€ ✓ - Forum Consommation & Internet
- Sfr service client - Guide
- Ps3 media server - Télécharger - Divers Réseau & Wi-Fi
- Filezilla server - Télécharger - Téléchargement & Transfert
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
9 févr. 2017 à 22:14
9 févr. 2017 à 22:14
Bonjour,
Le problème vient de la classe Timer, elle génère un nombre monstrueux de threads identiques qui consomme la RAM de ton PC.
Voici la stack des threads qui sont créés :
Le problème vient donc de la méthode run() de serviceChroTime qui est appelé indéfiniment et ce à cause de ta boucle while dans la classe Timer.
Ta boucle tourne sans jamais s'arrêter créant de nouveaux threads en continue. Commences par supprimer cette boucle while, un seul thread devrait suffire pour l'instant.
Le problème vient de la classe Timer, elle génère un nombre monstrueux de threads identiques qui consomme la RAM de ton PC.
Voici la stack des threads qui sont créés :
"Thread-8254" #8268 prio=5 os_prio=0 tid=0x0000000369fa3800 nid=0x2a680 runnable [0x00000003985bf000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
- locked <0x00000000de2a6658> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
- locked <0x00000000de2a6658> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(Unknown Source)
at timer.serviceChroTime.run(serviceChroTime.java:23)
Le problème vient donc de la méthode run() de serviceChroTime qui est appelé indéfiniment et ce à cause de ta boucle while dans la classe Timer.
public static void iniserver() throws Exception { ServerSocket ss = new ServerSocket(1111); System.out.println("dans l'attende d'une connection"); Socket socket = ss.accept(); System.out.println("vous etes connecté..."); while (true) { new serviceChroTime(socket).start(); } }
Ta boucle tourne sans jamais s'arrêter créant de nouveaux threads en continue. Commences par supprimer cette boucle while, un seul thread devrait suffire pour l'instant.