BAEL 4064 Out of Memory Error
This commit is contained in:
parent
00f5e0012c
commit
020fcd9229
39
core-java-modules/core-java-lang/src/test/java/com/baeldung/error/oom/TestExecutorService.java
Normal file
39
core-java-modules/core-java-lang/src/test/java/com/baeldung/error/oom/TestExecutorService.java
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
package com.baeldung.error.oom;
|
||||||
|
|
||||||
|
import static org.hamcrest.CoreMatchers.equalTo;
|
||||||
|
import static org.hamcrest.CoreMatchers.is;
|
||||||
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.stream.IntStream;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class TestExecutorService {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenAnExecutorService_WhenMoreTasksSubmitted_ThenAdditionalTasksWait() {
|
||||||
|
|
||||||
|
//Given
|
||||||
|
int noOfThreads = 5;
|
||||||
|
ExecutorService executorService = Executors.newFixedThreadPool(noOfThreads);
|
||||||
|
|
||||||
|
Runnable runnableTask = () -> {
|
||||||
|
try {
|
||||||
|
TimeUnit.HOURS.sleep(1);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//When
|
||||||
|
IntStream.rangeClosed(1, 10)
|
||||||
|
.forEach(i -> executorService.submit(runnableTask));
|
||||||
|
|
||||||
|
//Then
|
||||||
|
assertThat(((ThreadPoolExecutor )executorService).getQueue().size(), is(equalTo(5)));
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user