가변 데이터를 공유하지 말자. 그럼에도 여러 스레드가 가변 데이터를 공유해야 한다면 그 데이터를 읽고 쓰는 동작은 반드시 동기화해야 한다. 📚 동기화 synchronized 키워드는 해당 메서드나 블록을 한 번에 한 스레드씩 수행하도록 보장한다. 한 객체가 일관된 상태를 가지고 생성되고, 이 객체에 접근하는 메서드는 그 객체에 락(lock)을 건다. 락을 건 메서드는 객체의 상태를 확인하고 필요하면 수정한다. 즉, 객체를 하나의 일관된 상태에서 다른 일관된 상태로 변화시킨다. 또한 동기화에는 중요한 기능이 하나 더 있다. 동기화는 일관성이 깨진 상태를 볼 수 없게 하는 것은 물론, 동기화된 메서드나 블록에 들어간 스레드가 같은 락의 보호하에 수행된 모든 이전 수정의 최종 결과를 보게 해 준다. 자바 언어..
Programming/Effective Java
2022. 8. 25. 19:29
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준
- 알고리즘
- DevOps
- OS
- Java
- springboot
- 운영체제
- bruteforce
- 완탐
- IMAGE
- EffectiveJava
- 완전탐색
- 순열
- Container
- subset
- dfs
- Retrofit2
- BFS
- 아이템59
- 토큰기반인증
- 그래프탐색
- cicd
- dp
- docker
- 이펙티브자바
- 아이템61
- 조합
- 아이템60
- docker-compose
- BOJ
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
글 보관함
250x250