동시성 문제와 스레드 로컬 동시성 문제 다수의 스레드가 동시에 같은 인스턴스 필드 값을 변경하면서 발생하는 문제 스프링 빈처럼 싱글톤 객체의 필드를 변경하며 사용할 때 주의 Sample Service @Slf4j public class FieldService { private String nameStore; // 싱글톤 객체의 공용 필드 public String logic(String name) { log.info("저장 name={} -> nameStore={}", name, nameStore); nameStore = name; sleep(1000); log.info("조회 nameStore={}", nameStore); return nameStore; } } Test @Slf4j public clas..
Enum Class의 동시성 이슈 troubleshooting #1 Enum Class가 싱글톤 성질을 가지고 있기 때문에 발생했던 동시성 이슈를 기록하고자 한다. (동시성 이슈﹖ 다수의 스레드가 동시에 같은 인스턴스 필드 또는 공용 필드 값을 변경하면서 발생하는 이슈) . 그 이슈는 바로바로.. 🥁🥁🥁 . ... Issue 구매 완료 알림 푸시가 내가 주문한 상품명이 아닌 다른 사람이 주문한 상품명으로 전달된 이슈였다. 예를 들어 사용자는 불고기버거 기프트콘을 주문했지만, 무소음 키보드 주문이 완료되었다는 구매 완료 알리 푸시를 받게 된 것이다. 정상 푸시 메시지 불고기버거 세트 기프트콘 주문이.. 문제의 푸시 메시지 무소음 키보드 주문이.. Problem 푸시 톡 클래스는 Enum 클래스인데, 아래와..
OS(Operating System, 운영체제)🌞 backend-loadmap{:target="_blank"} Part 03. OS 터미널 사용법 및 기본 명령🌟 grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill Reference 16 Terminal commands every user should know 35 Linux Basic Commands Every User Should Know Linux 명령어 모음 Best 50 OS의 일반적인 작동 원리🌟 Operating System Computer User와 Computer Hardware(CPU, I/O) 사이의 인터페이스 역할 자원이 필요한 프로그램에 자원을 할당해주고, 자원을..
| 13. 동시성-"객체는 처리의 추상화다. 스레드는 일정의 추상화다" - James O. Coplien || 동시성이 필요한 이유?- 동시성은 결합(coupling)을 없애는 전략 (무엇what 과 언제when 를 분리)- 무엇과 언제를 분리하면 애플리케이션 구조와 효율이 극적으로 나아진다.ex) 많은 사용자를 동시에 처리하면 시스템 응답 시간을 높일 수 있음ex) 정보를 나눠 여러 컴퓨터에서 돌리면 대량의 정보를 병렬처리할 수 있음 ||| 동시성과 관련한 일반적인 미신과 오해1. 동시성은 항상 성능을 높여준다?- 때로 성능을 높여준다.- "대기 시간이 아주 길어 여러 스레드가 프로세서를 공유할 수 있거나, 여러 프로세서가 동시에 처리할 독립적인 계산이 충분히 많은 경우에만"2. 동시성을 구현해도 설계..