File tree Expand file tree Collapse file tree
core-java-modules/core-java-jvm/src/test/java/com/baeldung/error/oom Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package com .baeldung .error .oom ;
2+
3+ import static org .hamcrest .CoreMatchers .equalTo ;
4+ import static org .hamcrest .CoreMatchers .is ;
5+ import static org .junit .Assert .assertThat ;
6+
7+ import java .util .concurrent .ExecutorService ;
8+ import java .util .concurrent .Executors ;
9+ import java .util .concurrent .ThreadPoolExecutor ;
10+ import java .util .concurrent .TimeUnit ;
11+ import java .util .stream .IntStream ;
12+
13+ import org .junit .jupiter .api .Test ;
14+
15+ public class ExecutorServiceUnitTest {
16+
17+ @ Test
18+ public void givenAnExecutorService_WhenMoreTasksSubmitted_ThenAdditionalTasksWait () {
19+
20+ // Given
21+ int noOfThreads = 5 ;
22+ ExecutorService executorService = Executors .newFixedThreadPool (noOfThreads );
23+
24+ Runnable runnableTask = () -> {
25+ try {
26+ TimeUnit .HOURS .sleep (1 );
27+ } catch (InterruptedException e ) {
28+ e .printStackTrace ();
29+ }
30+ };
31+
32+ // When
33+ IntStream .rangeClosed (1 , 10 )
34+ .forEach (i -> executorService .submit (runnableTask ));
35+
36+ // Then
37+ assertThat (((ThreadPoolExecutor ) executorService ).getQueue ()
38+ .size (), is (equalTo (5 )));
39+ }
40+ }
You can’t perform that action at this time.
0 commit comments