분류 전체보기

✅네이버클라우드 캠프/개발일기

[네이버클라우드캠프] 57일차. 자바 Critical Section과 Synchronized

* Critical Section = Critical Region (임계구역) 여러 스레드가 같은 메모리에 접근하여 값을 변경할 때 의도된 대로 동작하지 않는 문제가 발생한다. 이렇게 여러 스레드가 동시에 접근했을 때 문제가 발생하는 코드 부분을 "Critical Section" 또는 "Critical Region" 이라 부른다. [0이 할당되는 과정, "Critical Section"이 발생되는 과정] 예를 들어, 두 개의 스레드가 동시에 add 메서드에 접근한다고 가정해보자. 첫 번째 스레드가 values 배열에 값을 할당하기 전에 CPU 제어권을 잃어버리고, 두 번째 스레드가 접근하여 값을 할당한다. 그리고 첫 번째 스레드가 다시 CPU 제어권을 얻게 되면 이미 두 번째 스레드에 의해 할당된 값이 ..

✅네이버클라우드 캠프/개발일기

[네이버클라우드캠프] 56일차. 자바 멀티태스킹과 멀티스레드

* 멀티태스킹 App 중에서 현재 실행 중인 프로그램이 프로세스이다. 멀티태스킹이란 여러 프로세스를 동시에 돌아가면서 명령문을 실행하여 동시에 여러개의 App을 실행하는 것이다. CPU의 속도가 빠르기 때문에 가능하며 실제로는 빠르게 순차적으로 실행하는 것이다. 어떤 방법으로 순서를 주어서 실행하는 것이 효과적일까 ? Process Scheduling Cpu sheduling * CPU 스케쥴링 CPU 스케쥴링이란 ? 여러 프로세스를 돌아가면서 실행하는 알고리즘 ① Round-Robin vs ② Priority Aging ① 일정한 단위로 시간을 쪼개서 프로세스를 순차적으로 실행 ② 우선순위가 높은 프로세스를 먼저 실행 * context-switching 명령어 로드: CPU는 주 메모리에서 실행 중인 ..

우동한그릇
'분류 전체보기' 카테고리의 글 목록 (41 Page)