Java

[동시성] Thread 테스트용 코드

SH.DevBlog 2023. 10. 22. 17:50
728x90
설명
  • 업무를 수행하다보면 멀티 쓰레드 환경에서 동시성을 고려해볼법한 일들이 간혹 존재한다.
  • 동시성 테스트를 하는 경우에 아래와 같은 샘플코드로 테스트를 수행하기 위해 샘플 코드를 적어놨다.
환경
  •  JDK 11 Version\
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;

public class Main {

    volatile static int cnt = 0 ;
    AtomicInteger cnt2 = new AtomicInteger() ;

    public static void main(String[] args) throws InterruptedException {
        int numberOfThreads = 10;
        ExecutorService service = Executors.newFixedThreadPool(10);
        CountDownLatch latch = new CountDownLatch(numberOfThreads);

        for (int i = 0; i < numberOfThreads; i++) {
            service.execute(() -> {
                cnt++ ;
            });
        }

        System.out.println(cnt) ;

        latch.await();
    }
}
728x90