2021-09-12

0912 세마포어

 세마포어의 원리: permit하는 스레드수를 제한한다.

acquire()를 불렀을때 permits--해서 , 만약에 0이하로 내려가면 해당 스레드를 세마포어라는 감옥(큐) 에 담아둔다.

realease()를 불렀을때 permits++해서, 세마포어 감옥에 들어가 있던 스레드를 불러서 턴을 넘겨준다. 


세마포어는 자바 concurrunt 패키지에 내장되어있다. (내가 안만들어도 됨!! 꺄호~)
먼저 parent 스레드를 시작시키고 -> child 스레드를 시작시키기 때문에,
parent가 deposit하는동안 child스레드는 세마포어 감옥에 갇히게 된다. 
parent가 deposit을 100번끝내야 그다음 child턴이 되어서 account에서 withdraw를 할 수 있다. 
Account객체를 공유하기때문이다-

스레드의 공유영역 : 힙메모리!!




댓글 없음:

댓글 쓰기

0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...