Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1529 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  lecture de buffer qui bloque

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lecture de buffer qui bloque

n°1214514
blaise_lap​orte
Posté le 04-10-2005 à 15:07:38  profilanswer
 

Bonjour :hello:  
 
J'utilise un buffer pour lire les données sur une COM RS; mais j'ai un probleme lier à l'apareil distant, mais que j'aimerai regler avec java.
Mon apareil distant fait croire qu'il est prés à envoyer une donné, mais reste muet, ce qui bloque le programme.  
 

Code :
  1. if (bufRead.ready()){
  2. System.out.println("lecture buffer" );
  3. motRecu = bufRead.readLine().trim();
  4. System.out.println("lecture ok" );


 
Mon programme reste bloqué sur readLine sans que l'on ne puisse rien faire.  
 
La solution a laquelle j'ai pensé, serai d'exécuter readLine pendant un temps determiné, mais je ne sais pas trop comment.
 
Merci

mood
Publicité
Posté le 04-10-2005 à 15:07:38  profilanswer
 

n°1216464
blaise_lap​orte
Posté le 06-10-2005 à 12:56:08  profilanswer
 

pas d'idée?

n°1216477
sircam
I Like Trains
Posté le 06-10-2005 à 13:05:52  profilanswer
 

Regarde du côté des IO non bloquant(e)s (package nio).
 
Et soigne ton orthographe, stp, c'est pas facile à lire ! :o


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1216516
nraynaud
lol
Posté le 06-10-2005 à 13:45:33  profilanswer
 

en plus ou à la place de ce que dit Sircam, suivant ton architecture, tu peux faire la lecture dans un thread séparé.
 
et si c'est une interface homme-machine ->swingworker


---------------
trainoo.com, c'est fini
n°1216575
sircam
I Like Trains
Posté le 06-10-2005 à 14:17:04  profilanswer
 

nraynaud a écrit :

en plus ou à la place de ce que dit Sircam, suivant ton architecture, tu peux faire la lecture dans un thread séparé.


Mais ça ne résoud jamais le pb. Pas moyen de dire au thread de se terminer... ni de le terminer. Ce dernier reste bêtement bloqué. C'est frustrant.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1216681
esox_ch
Posté le 06-10-2005 à 15:14:40  profilanswer
 

Et meme si un thread c'est pas ce qu'il y a de plus lourd, c'est pas top d'en semer a gauche et a droite :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1216686
sircam
I Like Trains
Posté le 06-10-2005 à 15:21:03  profilanswer
 

esox_ch a écrit :

Et meme si un thread c'est pas ce qu'il y a de plus lourd, c'est pas top d'en semer a gauche et a droite :o


Mais non, un petit thread, ça mange pas de pain.   [:pingouino]  
 
Enfin, pas d'abus.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1216691
esox_ch
Posté le 06-10-2005 à 15:22:18  profilanswer
 

Oui mais ça commance toujours avec un pti dans les coins, et apres on s'y retrouve plus :D . D'ailleurs s'il y a une maniere élégante de resoudre le probleme... pourquoi taper dans le gros bourrin pas propre [:pingouino]


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1216698
sircam
I Like Trains
Posté le 06-10-2005 à 15:26:16  profilanswer
 

Elégante ? Sans nio ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1216702
nraynaud
lol
Posté le 06-10-2005 à 15:27:53  profilanswer
 

nraynaud a écrit :

en plus ou à la place de ce que dit Sircam, suivant ton architecture, tu peux faire la lecture dans un thread séparé.
 
et si c'est une interface homme-machine ->swingworker


 

esox_ch a écrit :

Et meme si un thread c'est pas ce qu'il y a de plus lourd, c'est pas top d'en semer a gauche et a droite :o


 
[:pingouino] les IO non bloquantes ne résolvent pas tout.  
 

esox_ch a écrit :

Oui mais ça commance toujours avec un pti dans les coins, et apres on s'y retrouve plus :D . D'ailleurs s'il y a une maniere élégante de resoudre le probleme... pourquoi taper dans le gros bourrin pas propre [:pingouino]


 
tu sais lire ? J'ai pas dit d'en mettre des centaines.


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 06-10-2005 à 15:27:53  profilanswer
 

n°1216719
esox_ch
Posté le 06-10-2005 à 15:36:57  profilanswer
 

Non ça je l'ai compris nraynaud :D
 
Mais je me suis souvent fait prendre en me disant "Bon ce truc m'emmerde,  je l'emferme dans son thread pour qu'il me foutte la paix" et le resultat est pas toujours super ... Donc si on en creer juste 1 comme tu l'as dit, pas de probleme, mais faut faire gaffe a pas considerer ça comme la reponse bouche-trou a tous les problemes :jap:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1216725
sircam
I Like Trains
Posté le 06-10-2005 à 15:39:21  profilanswer
 

esox_ch a écrit :

"Bon ce truc m'emmerde,  je l'emferme dans son thread pour qu'il me foutte la paix"


Sans doute un bon moyen de se prendre un coup de pelle à clous (tm).   [:pingouino]  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1216728
esox_ch
Posté le 06-10-2005 à 15:40:54  profilanswer
 

Tout a fait :jap: Et apres m'en etre pris plusieurs coups bien visés j'ai appris a ne pas considerer les threads comme des bouées de sauvetage :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1216732
nraynaud
lol
Posté le 06-10-2005 à 15:44:22  profilanswer
 

esox_ch a écrit :

Tout a fait :jap: Et apres m'en etre pris plusieurs coups bien visés j'ai appris a ne pas considerer les threads comme des bouées de sauvetage :D


c'est pas une boué de sauvetage, mais si je vois des IO (bloquantes ou non) dans le thread de swing, je mets des coups de pelle, que ce soit clair.
 
Sauver un fichier, lire une socket etc. ça se fait hors du thread de refraîchissement de l'interface.
 
Maitenant, la bonne idée ça peut être d'avoir une seule thread "IOworker" qui fait tout, ou, si le besoin est minime d'utiliser un swingworker adhoc pour sauver un fichier.


---------------
trainoo.com, c'est fini
n°1217732
blaise_lap​orte
Posté le 07-10-2005 à 15:15:13  profilanswer
 

Merci pour toute ces reponse, mais l'envoie et la reception sur le buffer ce font deja dans un thread à part.  
J'ai pas encore eu le temps de regarder l'api nio, je vais voir si une solution ne se trouve pas par la.
 
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  lecture de buffer qui bloque

 

Sujets relatifs
Pb lecture d'une image après uploadbloqué sur un petit programme en C
[Shell] lecture d'un fichier txt ligne par ligneVideo : afficher la lecture en _self
[Regedit] Lecture de plusieurs Key, a partir d'une ListBox ???Lecture Ecriture Binaire
lecture du contenu d'une page html généréeLecture de page html
masquer la barre de lectureMenu déroulant en css (à l'aide je bloque!!!!!!)
Plus de sujets relatifs à : lecture de buffer qui bloque


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR