▶ AI시대에서 개발자가 사는 법

1분 읽기

SpringBoot 쓰레드 무한 생성 테스트 코드


스프링 부트에서 쓰레드를 무한 생성하는 테스트 코드를 작성해 보았다. 아래의 예시는 JUnit과 SpringBootTest를 이용해서 테스트 코드를 작성하는 법이다.

```javascript
� ```
```javascript
� ```

@SpringBootTest
public class ThreadCreationTest {

    @Test
public void testThreadCreation() throws InterruptedException { while (true) {
Thread thread = new Thread(() -> { // 생성될 때마다 실행될 코드
try { Thread.sleep(1000); // 1초 대기
} catch (InterruptedException e) { e.printStackTrace();
} });
thread.start(); // 쓰레드 시작 }
} }

개발자들은 보면 알겠지만, 간단히 설명하면 testThreadCreation메소드 안에서 While문으로 무한 루프를 생성하고 그 안에서 쓰래드를 무한정 생성한다. 생성된 쓰래드를 유지하기위해 1초의 딜레이를 줬다. 위 테스트 코드를 실행하면 쓰레드가 무한 생성될 것이다. 나는 해당 코드로 쓰레드가 무한으로 생성될때 시스템에 어떻게 영향을 미치는지 테스트 하기 위해서 작성했었다. 당연히 프로덕션에서는 사용하지 말아야 한다.