. 8 , parallelStream() 8 . , 5 . (9-) , 5 . . ~ 5 (8 ) + 5 (1 ) = 10 . . :
public static int processUrl(String url) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("T[" + Thread.currentThread().getId() + "] finished @[" + System.currentTimeMillis() / 1000 + "]");
return url.length();
}
, :
T[1] finished @[1494267500]
T[12] finished @[1494267500]
T[17] finished @[1494267500]
T[13] finished @[1494267500]
T[14] finished @[1494267500]
T[16] finished @[1494267500]
T[11] finished @[1494267500]
T[15] finished @[1494267500]
T[12] finished @[1494267505]
36
10
, T [12] 5 "" 8 .
100 . , 9 , 5 , :
T[14] finished @[1494267783]
T[11] finished @[1494267783]
T[19] finished @[1494267783]
T[17] finished @[1494267783]
T[12] finished @[1494267783]
T[16] finished @[1494267783]
T[13] finished @[1494267783]
T[15] finished @[1494267783]
T[18] finished @[1494267783]
36
5
, . ( :-) ).
8 :
ExecutorService executorService = Executors.newFixedThreadPool(8);
, , , . , URL- 8, 9.
, .