import java.io.PrintStream;
import java.util.concurrent.TimeUnit;
+import java.util.function.BiConsumer;
/**
}
}
- public static class PrintCallback implements BinaryCallback<Long, TimeUnit> {
+ public static class PrintCallback implements BiConsumer<Long, TimeUnit> {
String task;
PrintStream stream;
PrintCallback(String task) {
this.stream = stream;
}
@Override
- public void run(Long arg1, TimeUnit arg2) {
+ public void accept(Long arg1, TimeUnit arg2) {
stream.println(task + " took " + arg1 + " " + arg2.toString());
}
};
time(runnable, reportTimeUnit, new PrintCallback(runnable.toString(), stream));
}
- public static void time(Runnable runnable, TimeUnit reportTimeUnit, BinaryCallback<Long, TimeUnit> result) {
+ public static void time(Runnable runnable, TimeUnit reportTimeUnit, BiConsumer<Long, TimeUnit> result) {
long start = System.nanoTime();
runnable.run();
long end = System.nanoTime();
- result.run(reportTimeUnit.convert(end-start, TimeUnit.NANOSECONDS), reportTimeUnit);
+ result.accept(reportTimeUnit.convert(end-start, TimeUnit.NANOSECONDS), reportTimeUnit);
}
}