ThreadPoolExecutor의 Queue사이즈를 default값(Integer.MAX_VALUE)로 사용할 때는 CorePoolSize를 초과해서 스레드 개수가 늘어나지 않는다. 예를들어, CorePoolSize 100, MaxPoolSize 200 처럼 설정하는 경우, 스레드는 최대 100개까지만 생성되고 그 이상으로 늘어나지 않지 않는다. - CorePoolSize는 기본적으로 생성 되는 스레드 수- MaxPoolSize는 "큐가 가득 차면" 그 이후에 최대 이 크기만큼 스레드 수가 늘어날 수 있음을 의미여기서 핵심 포인트는 "큐가 가득 차면" 이다. ThreadPoolExecutor에서 기본적으로 사용하는 큐는 LinkedBlockingQueue이고, 이는 무제한 용량을 가진 블록킹 큐이다 ..

전체 글
-공부하고 기록합니다
간단 결제 시스템 구현 : (2) Mono 제대로 써보기김영한 자바 고급 편 완강 기념(?)으로 이번 시간에는 예전에 결제 시스템 분석하면서 만들어봤던 샘플 코드를 리펙토링 해보려고 한다. 비동기 + 멀티스레드 중심으로 리팩터링 할 요소를 찾아dev-jhl.tistory.com 김영한 자바 고급 편 완강 기념으로 이전에 했던 결제 시스템을 리팩토링 해보려고 했는데, 생각보다 할게 없어서? 확신의 멀티스레딩인 알림 서비스로 다시 돌아왔다. V1은 간단하게 만든답시고 원본 아키텍처를 심하게 손질했었는데 (...) 제대로 다시 만들면 그래도 꽤 비동기 멀티스레딩 다운 프로젝트가 될 것 같다. GitHub - hyerijang/demo-notification-system: 개인 프로젝트 - 알림 시스템 Co..

김영한 자바 고급 편 완강 기념(?)으로 이번 시간에는 예전에 결제 시스템 분석하면서 만들어봤던 샘플 코드를 리펙토링 해보려고 한다. 비동기 + 멀티스레드 중심으로 리팩터링 할 요소를 찾아보겠다. 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 후기비동기 멀티스레딩... 어렵다... 작년에 모 회사에서 인턴으로 근무할 당시, 사내 알림 서비스를 카프카로 재설계하는 업무를 맡았었습니다. 기존 서비스는 특정 시간이 되어 배치 작업이 실행dev-jhl.tistory.com GitHub - hyerijang/simple-payment-system: 개인 프로젝트- 간단 결제 시스템개인 프로젝트- 간단 결제 시스템. Contribute to hyerijang/simple-payment-system de..

경험 정리 겸 강의 후기 겸 프로젝트 일기? 의식의 흐름.. 비동기 멀티스레딩... 어렵다... 작년에 모 회사에서 인턴으로 근무할 당시, 사내 알림 서비스를 카프카로 재설계하는 업무를 맡았었습니다. 기존 서비스는 특정 시간이 되어 배치 작업이 실행되면 for문을 돌면서 메세지를 생성해서 발송(with 스레드 50개)하는~ 아주 단순한 형태였습니다. 개선해야할 문제점은 아래와 같았습니다. 1.(배포 등으로) 발송 중단 시 자동으로 재시작되지 않음2.중단된 부분부터 이어서 보내지 않음 3.현재 발송 완료까지 2시간 넘게 걸리는데, 너무 오래걸림. 좀 더 속도 개선이 필요 주어진 기간은 4주였는데, 처음 2주는 어떤 식으로 진행할지 계획/공부/컨펌받는 단계였고, 집중적으로 개발한 기간은 한 2주정도 되었..