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.
>