Je découvre un peu le monde des threads dans java.
je cherche à fixer une durée de vie (Timeout) à un thread.
En fait un thread est créé pour executer une requete vers un EIS; si la reponse
est trop longue à venir je dois arreter le thread. Donc c'est bien essayer de
fixer un timeout sur un thread.
J'ai recherché sur le net et je n'ai pas vu de chose qui resemblait à ça.
J'ai regardé les class timer et Timertask mais cela permet juste de fixer des
delais d'attente avant l'execution ou la periode de réexecution.
Si quelqu'un à une idée ou meme un bout de code ce serait le paradis.
Merci à tous d'avance.
Xavier.
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Cedric
Je découvre un peu le monde des threads dans java. je cherche à fixer une durée de vie (Timeout) à un thread.
Umm... Je suis pas sur que tu puisse directement donner une duree de vie a un Thread. De toute facon ca serait relativement imparfait car tu as une execution non exclusive de ton code ( ton thread qui commence a tempsCPU=0 et s'arrete a tempsCPU00 n'a pas -forcement- vecu/execute son code pendant 1000 unites.) Par contre tu peux utiliser deux Thread ( style monitor/monitored ). Un Thread B qui contient une methode bloquante, ou duree d'execution longue; et un Thread A qui cree le Thread B. Dans le Thread A, tu mets un sleep(duree max) qui rend la main au Thread general ( de ta main() ) si le temps est ecoule et que B n'a pas fini ( dans ce cas il faut prevoir le 'nettoyage' propre de B).
Cedric
Je découvre un peu le monde des threads dans java.
je cherche à fixer une durée de vie (Timeout) à un thread.
Umm... Je suis pas sur que tu puisse directement donner une duree de vie a
un Thread. De toute facon ca serait relativement imparfait car tu as une
execution non exclusive de ton code ( ton thread qui commence a tempsCPU=0
et s'arrete a tempsCPU00 n'a pas -forcement- vecu/execute son code
pendant 1000 unites.)
Par contre tu peux utiliser deux Thread ( style monitor/monitored ). Un
Thread B qui contient une methode bloquante, ou duree d'execution longue; et
un Thread A qui cree le Thread B. Dans le Thread A, tu mets un sleep(duree
max) qui rend la main au Thread general ( de ta main() ) si le temps est
ecoule et que B n'a pas fini ( dans ce cas il faut prevoir le 'nettoyage'
propre de B).
Je découvre un peu le monde des threads dans java. je cherche à fixer une durée de vie (Timeout) à un thread.
Umm... Je suis pas sur que tu puisse directement donner une duree de vie a un Thread. De toute facon ca serait relativement imparfait car tu as une execution non exclusive de ton code ( ton thread qui commence a tempsCPU=0 et s'arrete a tempsCPU00 n'a pas -forcement- vecu/execute son code pendant 1000 unites.) Par contre tu peux utiliser deux Thread ( style monitor/monitored ). Un Thread B qui contient une methode bloquante, ou duree d'execution longue; et un Thread A qui cree le Thread B. Dans le Thread A, tu mets un sleep(duree max) qui rend la main au Thread general ( de ta main() ) si le temps est ecoule et que B n'a pas fini ( dans ce cas il faut prevoir le 'nettoyage' propre de B).
Cedric
Damien Lecan
Xavier wrote:
je cherche à fixer une durée de vie (Timeout) à un thread. En fait un thread est créé pour executer une requete vers un EIS; si la reponse est trop longue à venir je dois arreter le thread. Donc c'est bien essayer de fixer un timeout sur un thread. Si tu bosses avec des sockets, elles ont tout ce qu'il faut pour lever
des timeout.
Sinon, tu peux travailler avec la méthode join(délai), à exécuter par le thread d'origine ...
Damien
Xavier wrote:
je cherche à fixer une durée de vie (Timeout) à un thread.
En fait un thread est créé pour executer une requete vers un EIS; si la reponse
est trop longue à venir je dois arreter le thread. Donc c'est bien essayer de
fixer un timeout sur un thread.
Si tu bosses avec des sockets, elles ont tout ce qu'il faut pour lever
des timeout.
Sinon, tu peux travailler avec la méthode join(délai), à exécuter par le
thread d'origine ...
je cherche à fixer une durée de vie (Timeout) à un thread. En fait un thread est créé pour executer une requete vers un EIS; si la reponse est trop longue à venir je dois arreter le thread. Donc c'est bien essayer de fixer un timeout sur un thread. Si tu bosses avec des sockets, elles ont tout ce qu'il faut pour lever
des timeout.
Sinon, tu peux travailler avec la méthode join(délai), à exécuter par le thread d'origine ...