javalist@javasite.bme.hu írta: > *** Felado: Köteles Ferenc <fecuska@freemail.hu> *** > > On Tue, 22 Aug 2006 14:13:18 +0200 (CEST) > javalist@javasite.bme.hu wrote: > >> Nem beszélve arról, hogy Windows alatt legjobb tudomásom szerint nem >> lehet 10ms-nál rövidebb időt mérni. Vagy legalábbis a javaval nem >> tudsz annál rövidebb ideig sleepelni. > linux alatt fog futni a dolog... > Nem hiszek nektek, ezért leteszteltem :) Ez volt a teszt: long t0 = System.currentTimeMillis(); for(int i=0; i< 1000; i++) { Thread.sleep(1); } long t1 = System.currentTimeMillis(); System.out.println("time: "+(t1-t0)+" msec"); Ez windows-on (xp) is és linuxon (debian) is majdnem pontosan 2000 msec-et írt ki. Csodálkoztam is rajta, hogy vajon miért nem 1000-hez közeli ez a szám, ezért próbálgattam, hogy a sleep(1)-et növelgettem (sleep(2), sleep(3),...), és a tapasztalat azt mutatja, hogy 1000 msec-el tart tovább a művelet, mint ahogy vártam volna. Magyarul: egy Thread.sleep() hívás 1 msec plusz kötséggel jár. Viszont kíváncsi lennék, hogy ez a teszt program ugyanilyen eredményeket produkál-e más architektúrákon? Akinek van rá lehetősége, kérem hogy próbálja ki, és tegye közzé, mert érdekelne :) Én 32 bites intel környezetben mértem. Köszi, psmith nem vagyok feliratkozva