IntStream tstream = IntStream.rangeClosed(1, 100000000);
Collector<Object, ?, Map<Object, List<Object>>> collector = Collectors.groupingBy(i -> Thread.currentThread());
Map<Object, List<Object>> coll = tstream.boxed().parallel().collect(collector);
coll.replaceAll((thread, list) -> Arrays.asList(list.size()));
System.out.println(coll.size() + " threads was used: " + coll);