본문 바로가기

java3

[운영체제] 7. 프로세스 동기화 도구 : 모니터 Monitor KOCW에서 제공하는 경성대학교  양희재 교수 운영체제 강의를 듣고 정리한 글 입니다.1. 모니터1) 모니터란?세마포 이후 프로세스 동기화 도구이다. 세마포 보다 고수준 개념이다.세마포어보다는 구조가 복잡하지만, 사용하기는 더 편리하다. 2) 모니터 구조모니터는 공유 자원과 공유 자원 접근 메소드로 이루어져 있다.모니터에는 배타 동기를 위한 큐와 조건 동기를 위한 큐 2개가 있다.공유 자원 접근 메소드는 최대 1개 메소드만 접근할 수 있다. 나머지 메소드는 배타 동기를 위한 큐에서 기다리고있는다.진입했던 쓰레드는 wait() 콜에 의해 조건 동기를 위한 큐로 들어가게되고(block), 새로운 쓰레드는 진입 가능하다. 새 쓰레드는 notify()로 조건 동기 큐에 block되었던 쓰레드를 깨울 수 있다깨워.. 2024. 12. 11.
[운영체제] 3-5주차. 프로세스 관리(스케줄링, 동기화) KOCW에서 제공하는 경성대학교  양희재 교수 운영체제 강의를 듣고 정리한 글 입니다.3-7주차. 프로세스 관리(스케줄링, 동기화)이중모드, 하드웨어 보호, 운영체제 서비스, 프로세스관리, CPU 스케줄링 알고리즘, 프로세스 동기화, 임계구역 문제3-5주차. 프로세스 관리(스케줄링, 동기화) 2024. 12. 10.
[운영체제] Thread - BankAccount 문제 멀티 스레드를 이용해 1,000원을 입금하는 부모님 스레드와, 1,000원을 출금하는 자녀 스레드를 생성했다. 어떤 스레드가 먼저 도는지 확인하기 위해 부모님이 입금하면 +를, 자녀가 출금하면 -가 출력되도록 한다. //Java BankAcoount practice1 class HelloWorld{ public static void main(String[] args) throws InterruptedException { BankAccount b = new BankAccount(); Parent p = new Parent(b); Child c - new Child(b); p.start(); c.start(); p.join((); c.join(); System.out.println("\nbalance = ".. 2020. 7. 27.