Je ne pense pas que cela constitue la reponse a ton pb,
mais je vois ds ton code un pb : le calcul du temps
est decompte ds le temps.
Je propose une modif :

beforeTime = System.currentTimeMillis(); 
java.lang.Thread.sleep(AiDelai); 
afterTime = System.currentTimeMillis(); 
System.out.println(AzNomClasse + " Le sleep a dur� :" + 
(afterTime - beforeTime)); 
System.out.println(AzNomClasse + " Il devait durer :" + AiDelai);


Peut �tre n'est pas un detail ... A tester.

______________________________________________
Jean-Baptiste BRIAUD                    Sysdeo
Software engineer               www.sysdeo.com
                         www.eclipsetotale.com

> -----Message d'origine-----
> De : Nicolas BULTEAU [mailto:[EMAIL PROTECTED]] 
> Envoy� : vendredi 12 juillet 2002 15:58
> � : [EMAIL PROTECTED]
> Objet : Pb threads en java
> 
> 
> j'ai un petit souci avec les threads en java
> 
> Sous Linux avec jdk1.3.1 un Thread.sleep(1) dure 20 ms
> alors que cette m�me instruction dure 1ms (comme pr�vu)
> sous windows NT4 jdk1.3
> 
> Pour mesurer cel� je fais :
> 
> actualTime = System.currentTimeMillis(); 
> java.lang.Thread.sleep(AiDelai); 
> System.out.println(AzNomClasse + " Le sleep a dur� :" + 
> (System.currentTimeMillis() - actualTime)); 
> System.out.println(AzNomClasse + " Il devait durer :" + AiDelai);
> 
> Ca me donne :
> Windows :
> 
> <ThreadMessageOffline> Le sleep a dur� :0 
> <ThreadMessageOffline> Il devait durer :1
> 
> 
> Sous Linux
> 
> <ThreadMessageOffline> Le sleep a dur� :20 
> <ThreadMessageOffline> Il devait durer :1
> 
> 
> Que se passe-t-il ?
> Merci d'avance.
> 

Répondre à