Skip to content

Instantly share code, notes, and snippets.

@apangin
Created April 7, 2021 13:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save apangin/88133b79b14f0dad6ab2e21cc773cddf to your computer and use it in GitHub Desktop.
Save apangin/88133b79b14f0dad6ab2e21cc773cddf to your computer and use it in GitHub Desktop.
import java.util.ArrayList;
import java.util.concurrent.locks.LockSupport;
import java.util.stream.StreamSupport;
public class ParallelStream {
public static int[] process(Iterable<Integer> iterable) {
return StreamSupport.stream(iterable.spliterator(), true)
.mapToInt(i -> {
LockSupport.parkNanos(1_000_000);
return i;
})
.toArray();
}
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < 1000; i++) {
list.add(i);
}
while (true) {
long startTime = System.nanoTime();
process(list::iterator);
// process(list);
long endTime = System.nanoTime();
System.out.println((endTime - startTime) / 1e6 + " ms");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment