Используйте только uniq
$ cat file
aaaaaa
bbbbbb
cccccc
ababab
ababab
ababab
ababab
$ cat file | uniq
aaaaaa
bbbbbb
cccccc
ababab
$ sort file | uniq -u
aaaaaa
bbbbbb
cccccc
Simultanous моделирования на двух или более компьютерах сложно по некоторым причинам.
В-третьих, вы должны знать, что у Linux есть циклический сдвиг в 1 мс, а в Windows - около 10-15 мс. Поэтому Thread.sleep (...) не будет работать с меньшими надежными интервалами времени. Если вы хотите «работать с меньшими промежутками времени», вам нужно сделать что-то вроде «занятого ожидания», которое уродливо, но необходимо:
public class SleepUtil {
public static final long MIN_PRECISION_IN_MICROS = 15L;
public static void main(String[] args) {
long before = System.nanoTime();
while (true) {
final long after = System.nanoTime();
long diff = (after - before) / 1000l;
before = after;
System.out.println(diff + " micros");
SleepUtil.sleepMicros(500);
}
}
private static void sleepMicros(int waitTimeInMicros) {
final long startTimeInNanos = System.nanoTime();
long elapsedTimeInMicros = 0L;
while (elapsedTimeInMicros < waitTimeInMicros - MIN_PRECISION_IN_MICROS) {
elapsedTimeInMicros = (System.nanoTime() - startTimeInNanos) / 1000L;
}
}
}
Однако, оно будет загружать ваш процессор не всегда быть надежным (но большую часть времени).