Je me demande quelle est la façon la plus précise de convertir une valeur de grandes nanosecondes en millisecondes et nanosecondes, avec une limite supérieure sur les nanosecondes de 999999. L'objectif est de combiner les valeurs des nanosecondes et millisecondes pour assurer la résolution maximale possible avec la limite donnée. C'est pour la comparabilité avec les méthodes sleep/wait et une autre bibliothèque externe qui donne de grandes valeurs de nanosecondes.Conversion de nanosecondes en millisecondes et nanosecondes <999999 en Java
Edit: mon code ressemble à ceci maintenant:
while (hasNS3Events()) {
long delayNS = getNS3EventTSDelay();
long delayMS = 0;
if (delayNS <= 0) runOneNS3Event();
else {
try {
if (delayNS > 999999) {
delayMS = delayNS/1000000;
delayNS = delayNS % 1000000;
}
EVTLOCK.wait(delayMS, (int)delayNS);
} catch (InterruptedException e) {
}
}
}
Cheers, Chris
il convient de noter que cette fois est un indice pour l'OS d'attendre au moins aussi longtemps. Sous Windows et Linux, le délai est généralement inférieur à 2 ms, mais il peut être très long. IMHO Vous ne devriez pas vous inquiéter de la synchronisation de la nano-seconde, car il est très peu probable que vous voyiez une différence. –