Nicolas BULTEAU wrote: > 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
Premiere remarque: ca ne marche pas comme prevu sous NT (0 au lieu de 1). Deuxieme remarque: en etant root sous linux et en priorite max, j'obtiens aussi 0. En fait, on peut dire (experimentalement) que si le delai est inferieur a 10 il est ramene a 0. Dans le cas contraire, le processus est effectivement mis en attente, le planificateur de l'OS prend la main, execute d'autres taches puis redonne la main. Ce cycle a une duree incompressible d'environ 10ms. Tout ceci depend bien sur de la charge de la machine et surtout des tres nombreux processus qui tournent en permanence sous Linux. Si tu veux absolument 1ms, il te faut une attente active (boucle). Guillaume
