JAVA mais pourquoi !! - Java - Programmation
Marsh Posté le 03-06-2003 à 19:20:40
ReplyMarsh Posté le 03-06-2003 à 19:21:12
J'ai la réponse.
Marsh Posté le 03-06-2003 à 19:24:13
ReplyMarsh Posté le 03-06-2003 à 19:25:34
benou a écrit : j'adore les séries des 3 accolades en commentaire |
Moi c'est la méthode run() que je préfère
Marsh Posté le 03-06-2003 à 19:29:29
Taiche a écrit : J'ai la réponse. |
pas moi, mais j'approche du compte est bon de deux points. Je reprends donc deux fraises de mon godet que je mise sur case chance et lance deux dé de six
Marsh Posté le 03-06-2003 à 19:31:12
chrisbk a écrit : |
Impossible : le Stade de France n'est pas aux normes anti-brouillard
Marsh Posté le 03-06-2003 à 19:31:36
chrisbk a écrit : |
Citation : Rendez-vous directement en prison |
pas de chance
Marsh Posté le 03-06-2003 à 19:32:24
Taiche a écrit : |
ok je suis battu
Marsh Posté le 03-06-2003 à 19:34:09
Taiche a écrit : |
mince
bon je revends la rue de la paix pour 87 chevres des savanes, et demande un pret de 2 cornichons en esperant que le taux de cholesterol flambe pas
Marsh Posté le 03-06-2003 à 19:34:30
chrisbk a écrit : |
Kamoulox
Marsh Posté le 03-06-2003 à 19:40:20
chrisbk a écrit : |
Exactement ce qu'on vient de faire
Marsh Posté le 03-06-2003 à 19:41:31
Taiche a écrit : |
ah ben ca va alors
bon, et a part ca, c'est quoi le but de ce topic ?
Marsh Posté le 03-06-2003 à 23:13:29
Boa c'est pas rigolo ce programme ne fait rien c'est évident c'est juste qu'il appelle une fonction "InetAddress.getByName(this.host);" qui à besoin d'être serialisé et apparament un thread ne peut être sérialisé donc comment on fait si on veut quand même exécuter ce genre de fonction dans un thread..???
Sinon pour les triples accolades c'est pour faire du folding sous jed
Vraiment....
Marsh Posté le 03-06-2003 à 23:23:48
qu'est ce que tu racontes ???
sérialiser une méthode, ca veut rien dire !
et à quoi sert un thread qui boucle pour rien ?
Marsh Posté le 03-06-2003 à 23:24:27
Buchu a écrit : Boa c'est pas rigolo ce programme ne fait rien c'est évident c'est juste qu'il appelle une fonction "InetAddress.getByName(this.host);" qui à besoin d'être serialisé et apparament un thread ne peut être sérialisé donc comment on fait si on veut quand même exécuter ce genre de fonction dans un thread..??? |
J'vois pas l'intérêt de sérialiser Question : c'est quoi pour toi, la sérialisation ?
Sinon, pour exécuter ça dans un Thread, on fait comme t'as fait, il faut une méthode run() et quand dans ton appli tu feras un Testo.start(), la méthode run() sera appelée et déroulera le code qui est dedans. SAUF QUE me while(true) va faire une boucle infinie et ton Thread s'arrêtera jamais et en plus bouffera 100% du CPU, ce qui n'est pas top. C'est quoi le but de ce while ?
Marsh Posté le 03-06-2003 à 23:26:28
Taiche a écrit : C'est quoi le but de ce while ? |
Que le thread ne s'arrête jamais et bouffe 100% du CPU
Marsh Posté le 03-06-2003 à 23:28:09
kadreg a écrit : |
Ah OK, j'me disais
Marsh Posté le 03-06-2003 à 23:29:06
kadreg a écrit : |
bah en dehors de ça, je vois pas l'interet non plus ,
mais si c'est le but c nul aussi ya quand même mieux (genr eun petit calcul de matrice infini )
Marsh Posté le 04-06-2003 à 00:13:29
ah mais !!
Cette exemple est ridicule il fait un truc débile je le sais là n'est pas la question c'est juste que la methode InetAddress.getByName(); a besoin de throws IOException hors il est interdit de mettre ça dans run() donc je voulais savoir comment on fait dans ces cas là pour executer ce genre de methodes dans un thread voilou
Marsh Posté le 04-06-2003 à 00:27:25
mais c'est n'importe quoi. Tu poses toujours des questions différentes !!!!
faut faire un try catch pour intercepter l'exception
Marsh Posté le 04-06-2003 à 00:33:03
Désolé de ne pas bien expliquer mais si je comprenais l'erreur je demanderai pas de l'aide j'ai déja essayé un try catch ca ne change rien, c'est surement pas grand chose mais là je vois vrament pas...
Marsh Posté le 04-06-2003 à 00:39:41
Code :
|
c'est la dernière tentative que je fais pour DEVINER ton problème, je ne reposterai pas tant que tu n'auras pas expliqué CLAIREMENT ce que tu veux faire et l'endroit où tu bloques
Marsh Posté le 04-06-2003 à 01:06:13
Merrrrrrrrrrrrrrrrrci !!!!!!!!!!!!
Gràce à ton exemple j'ai compris ou ça merdait !!!
Bref je vais essayer d'expliquer je vais une applete java qui utilise le protocole snmp v1 pour grapher des valeurs hors ma methode snmpGet :
public void snmpGet()
throws IOException, SnmpDecodeException, SnmpResponseException //{{{
ne passait pas dans une methode qui n'avait pas throws IOException, SnmpDecodeException, SnmpResponseException //{{{
et on a pas le droit de mettre de throws dans un run()
donc j'ai mis
try {
snmpGet();
} catch (IOException e) {
e.printStackTrace();
} catch (SnmpDecodeException e1) {
e1.printStackTrace();
} catch (SnmpResponseException e2) {
e2.printStackTrace();
}
et maintenant ca marche
bon je vais aller acheter un bouquin de java ca sera quand même mieux
Je te remerci vraiment !
Marsh Posté le 04-06-2003 à 07:28:44
bon ben de rien ...
t'avoueras que tu aurais expliqué ca comme ca dès le début, otu aurais eu la réponde du premier coup...
Marsh Posté le 04-06-2003 à 09:55:55
benou a écrit : bon ben de rien ... |
ouais, mais on n'aurai pas eu droit au kamoulox
Marsh Posté le 04-06-2003 à 10:14:40
Buchu a écrit : ah mais !! |
ca c'est le moins qu'on puisse dire
Marsh Posté le 04-06-2003 à 10:17:01
Buchu a écrit : bon je vais aller acheter un bouquin de java ca sera quand même mieux |
Ce qu'il faut pas lire au bout de 25 réponses
Marsh Posté le 03-06-2003 à 19:19:01
Bonjour
Je suis coincé depuis deux jours sur un problème de sérialisation et thread si qq a une idée pour le résoudre ca serait génial !!
-->Testo.java
import java.util.*;
import java.net.*;
import java.io.*;
import java.io.Serializable;
public class Testo implements Serializable, Runnable
{
String host;
Thread myThread;
public Testo() //{{{
{
host = "localhost";
myThread = new Thread(this);
myThread.start();
} //}}}
public void run()
// throws IOException //{{{
{
while(true) {
InetAddress.getByName(this.host);
}
} //}}}
public static void main(String args[])
// throws IOException //{{{
{
Testo M = new Testo();
} //}}}
}
Merci Beaucoup