Ich habe einen Thread, der Daten in eine Warteschlange schiebt und einen anderen Thread, der Daten aus der Warteschlange liest und verarbeitet. Ich möchte überprüfen, wie lange die Daten in der Warteschlange sitzen, bevor sie verarbeitet werden.Kann NanoTime über Threads hinweg arbeiten
Ich fügte einen Zeitparameter (berechnet mit System.nanoTime()
) in die Daten ein, bevor sie vom ersten Thread übertragen wurden. Sobald der zweite Thread es verarbeitet, berechnet es System.nanoTime()
und findet den Unterschied zu der vorherigen Zeit, die in den Daten festgelegt ist.
Würde das richtig funktionieren? Ich frage das, weil ich einen negativen Unterschied in den Protokollen sehe.
UPDATE
ich, dass klären möchte, wird die Startzeit durch einen Prozess in einer anderen Maschine setzen und die Differenz wird in einer anderen Maschine berechnet.
ist die auf einer einzigen Maschine befindet Warteschlange? Können Sie nicht stattdessen die Zeit in der Warteschlange messen? – nandsito
Die Warteschlange befindet sich in Redis. Wie können wir die Zeit in der Warteschlange messen? – cppcoder