2024/12/31 2

[운영체제] 동시성 이슈 해결 방법 - Semaphore/Mutex

지난 포스팅에서 동시성 문제인 '레이스 컨디션'과 '데이터 레이스'에 대해 알아보았다.이번 포스팅에서는 그 해결 방법인 Semaphore과 Mutex에 대해 알아보자.동시성 이슈주요 원인 :data race데이터 접근 절차는 atomic하지 않음 (읽기->연산->쓰기)단일 코어 : 하나의 instructor 실행 중 cpu 사용 권한을 뺏기는 경우 동시에 같은 memory address 읽을 가능성 존재멀티 코어 : 여러 cpu에서 동시에 같은 memory address 읽을 가능성 존재race condition멀티 스레드 : 프로세스의 공유 데이터 사용 중 발생멀티 프로세스 : 커널 내부의 공유 데이터 사용 중 발생해결 방법 :단일 코어 : 공유 자원에 접근한 경우 계속해서 그 프로세스가 cpu를 점유..

CS 2024.12.31

[JAVA] String Constant Pool

String constant poolJava에서 문자열 리터럴을 저장하는 독립된 공간 String 객체에 값을 할당하는 방법은 두 가지가 있습니다.리터럴 대입new 키워드 사용하여 대입 String str1 = "hello"; String str2 = new String("hello"); String str3 = "hello"; String str4 = new String("hello"); System.out.println(str1==str2); //false System.out.println(str1==str3); //true System.out.println(str2==str4); //falsestr1, str3은 리터럴을 바로 대입했고 str2, str4는 new 키워드를 사용해 문자열을 대입했습니..

Java 2024.12.31