데드락

🍀 Knowledge/운영체제(OS)

[운영체제] DeadLock과 DeadLock 예방법

DeadLock이란? DeadLock이란 두 개 이상의 프로세스들이 서로의 자원을 요구하며 Block 상태로 무한정 대기하는 것을 말한다. 이러한 현상은 서로가 서로에게 있는 자원을 원하지만 자원이 Release 되지 않았기 때문에 발생한다. 그림을 보면 DeadLock 발생하는 상황은 각 프로세스가 자원을 가지고 있지만, 상대 프로세스에게 있는 자원을 기다리며 일어난다. 데드락에 걸릴 수 있는 자원의 종류로는 두 가지가 있다. Reusable Resources(재사용 가능한 자원) release된 이후에 사용가능하다. 오직 하나의 프로세스에 의해서만 사용된다. 각 프로세스가 하나의 리소스를 가지고 있고, 그와 동시에 다른 리소스를 요청할 때 데드락이 발생한다. Consumable Resources 한 ..

💫 Language/Java

[Java] 멀티스레드와 동기화에 대해서

공유자원과 임계영역 🔲 공유 자원 : 여러 스레드가 동시에 접근할 수 있는 자원 🔲 임계 영역 : 공유자원들 중 여러 스레드가 동시에 접근했을 때, 문제가 생길만한 부분 🔶경쟁 상태? 둘 이상의 스레드가 공유자원을 병행적으로 읽거나 쓸때, 타이밍이나 접근 순서에 따라 실행 순서가 달라지는 상황(race 현상) 🔶Read - Modify - Write @RestController @RequestMapping("/race-condition") public class RaceConditionCotroller { public static Integer studentCount = 0; @PostMapping("/1/increase") public ResponseEntity increaseCount() { stud..

TIlearn
'데드락' 태그의 글 목록