본문 바로가기 메뉴 바로가기

public

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

public

검색하기 폼
  • 분류 전체보기 (12)
    • Spring-boot (5)
    • Java (6)
    • 만들어보기 (1)
  • 방명록

synchronized (1)
자바 동기화 처리 - volatile 와 synchronized

volatile은 멀티 스레드 프로그래밍에 사용되는 키워드입니다. 스레드는 실행되고 있는 CPU메모리 영역에 데이터를 캐싱합니다. 따라서 멀티 코어 프로세서에서 다수의 스레드가 변수 a를 공유하더라도 캐싱된(갱신) 시점에 따라 데이터가 다를 수도 있습니다. 그리고 캐싱된 데이터가 언제 갱신되는지 정확히 알수 없습니다. 멀티코어 환경에서 스레드1, 2가 변수a(counter 성격의 가변 데이터)를 공유하고 있다고 가정해 봅시다. 1번 스레드가 a=2를 할당한 이후에 2번 스레드가 a를 읽더라도 가장 최신값 2가 아닌 이전에 캐싱된 값을 읽어올 수 있습니다. 이런 경우 volatile키워드를 사용하여 CPU메모리 영역에 캐싱된 값이 아니라 항상 최신의 값을 가지도록 메인 메모리 영역에서 값을 참조하도록 할 ..

Java 2020. 11. 25. 17:49
이전 1 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • java socket util
  • 자바 TCP 서버
  • 자바 tcp
  • 추상 팩토리 패턴
  • 자바 사천성
  • netty
  • java socket
  • client socket util
  • 사천성 알고리즘
  • 자바 전문서버
  • 자바소켓
  • 클라이언트 소켓 유틸
  • 바이트 기반 서버
  • 자바 소켓통신
  • 자바 동기화
  • RedisAutoConfiguration
  • 상속과 구성
  • 클라이언트 소켓
  • 디자인 패턴
  • socket readtimeout
  • 사천성 게임
  • 구성
  • 자바 전문통신
  • socket connection timeout
  • 소켓통신
  • 소켓통신 프레임워크
  • 소켓 유틸
  • 자바 클라이어트 소켓
  • 자바 온라인 사천성
  • neso
more
«   2025/05   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바