멀티프로세스

    [Java] Volatile 키워드

    [Java] Volatile 키워드

    🔍 멀티 코어 프로세서 멀티 코어 프로세서에는 코어마다 별도의 개시를 가지고 있기 때문에 멀티 쓰레드 프로그래밍의 결과가 제대로 동작하지 않을 수 있다. L1캐시와 L2캐시에 대해서 간단히 설명하면 다음과 같다. L1 캐시는 CPU 코어에 가장 가까운 위치에 있어 빠르게 접근할 수 있지만 용량이 작다. L2 캐시는 L1캐시보다 크며 속도는 느리다. 여러 코어간의 데이터 공유를 위한 캐시로 사용된다. 코어는 메모리에서 읽어온 값을 캐시에 저장하고 캐시에서 값을 읽어서 작업한다. 따라서 다시 값을 읽어올 때는 먼저 캐시에 있는지 확인하고 없을 때만 메모리에서 읽어온다. 멀티 코어 프로세스에서는 다음과 같이 코어마다 별도의 캐시를 가지고 있기 때문에 원하는 결과를 얻지 못할 수도 있다. 🔍 Volatile 키..