JAVA 멀티스레드와 AtomicType

JAVA 멀티스레드와 AtomicType

생성일
Oct 4, 2024 12:16 PM
최종 편집 일시
Last updated October 24, 2024
태그
JAVA
이번에 어떤 회사의 코딩테스트를 보았다.
일반적인 알고리즘 해결 테스트가 아니고 약간 실무적인 코드스킬의 활용을 보는 느낌의 문제들이었다.
총 4문제가 나왔는데 아쉽게도 1문제를 제출을 못했다. 동시성을 처리해야 하는 그런 문제였다.
앞에 문제들에 좀 시간을 많이 써서 충분하지 않았던 점, 그리고 멀티 스레드를 실무하면서 별로 다뤄보지 않은 점 때문에 마지막 문제를 제출을 못했다고 생각한다.
그래서 자바의 멀티스레드를 다루는 방법에 대해서 조금 더 찾아보기로 했다.
이 블로그 글에 멀티스레드를 사용하는 법에 대해서 잘 정리가 되어 있다.
내가 풀어내야 했던 문제는 1번 스레드와 2번 스레드가 병렬적으로 실행되면서 어떤 동기화된 값을 출력해야 하는 문제였다.
실제로 구현을 한다고 하면 이런 방법을 많이 쓰는 것 같다.
AtomicInteger는 stream()안에서 람다식을 쓸 때 몇 번 마주치게 되었고 syncronized는 거래소 체결 로직 만들 때 사용했던 기억이 난다.
이런 거 보면 아이디어는 제대로 간 거 같은데 시간이 부족해서 못했다는 생각이 든다.