일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- iterable
- 스프링
- Synchronized
- Atomic Type
- iterator
- 동시성
- MySQL
- Lock
- Locking Read
- java
- CAS
- 백엔드
- 자바
- foreach
- Varchar
- gc
- reflection
- MVCC
- 데이터 타입
- 동시성 문제
- jpa
- Di
- 가비지 컬렉션
- text
- 가비지 컬렉터
- db
Archives
- Today
- Total
목록CAS (1)
과정을 즐기자
Java의 synchronized, Lock Stripping과 Atomic Type
자바는 멀티 쓰레드 기반의 동시성 프로그래밍을 지원합니다. 따라서 CPU 코어가 많아질 수록 이를 잘 활용할 수 있습니다.하지만 멀티 쓰레드이기 때문에 반드시 동시성 문제가 따라옵니다.이번 글에서는 Java에서 동시성 문제를 해결하기 위해 사용하는 synchronized, Lock Stripping, Atomic Type에 대해 알아보겠습니다.synchronized자바에서 synchronized 키워드는 메소드 또는 블록을 동기화하는데 사용합니다.synchronized가 붙은 메소드나 블록은 멀티 쓰레드이더라도 동시에 하나의 쓰레드만 접근할 수 있도록 합니다.객체를 생성하면 각 객체마다 내부적으로 Lock을 가지고 있는데 synchronized를 사용하면 이러한 Lock을 획득하고Lock을 획득할 수 없..
Java
2023. 10. 11. 11:25