일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ansible
- decorator 패턴
- 머신러닝
- Adapter 패턴
- spring microservice
- MSA
- 마이크로서비스
- 동기화
- kubernetes
- 익명클래스
- 클라우드 네이티브
- 헬름
- Stress test
- 쿠버네티스
- cloud native
- ingress
- MySQL
- devops
- 클라우드 네이티브 자바
- Kotlin
- Spring
- Algorithm
- Semaphore
- 자바
- cloud native java
- Microservice
- 코틀린
- java
- nGrinder
- CRD
- Today
- Total
목록Semaphore (2)
카샤의 만개시기
리소스에 접근할 수 있는 스레드의 수를 제한할 때 사용합니다. acquire() 메소드를 통하여 접근 권한을 퍼밋(Permit)받고, 남은 퍼밋이 없을 경우 퍼밋이 생기거나 인터럽트가 발생되거나 타임아웃이 걸리지 전까지 대기합니다. release() 메소드는 확보했던 퍼밋을 다시 세마포어에게 돌려주는 메소드입니다. 세마포어에 대해서 자세히 알고 싶다면 다음 글을 참고해주세요 세마포어(Semaphore)와 뮤텍스(Mutex) class ShareResource { private final Semaphore semaphore; private final int MAX_PERMIT_CNT; public ShareResource(int cnt) { this.semaphore = new Semaphore(cnt);..
공유 되어 있는 자원에 프로세스 혹은 스레드가 접근하고자 할 때 한번에 하나의 프로세스가 접근 할 수 있도록 고안 된 것이 세마포어입니다. 세마포어 공유된 자원의 데이터를 경쟁적으로 사용하는 프로세스들의 행동을 조정하거나 동기화 하는 기술입니다. 예를 들어 어떤 운영체제의 리소스를 동시에 4개의 프로세스만 사용 할 수 있다고 할 때, 이 리소스를 가지고 경쟁하는 여러 프로세스간 우선순위 등을 고려하여 행동을 조정하는 기술입니다. 뮤텍스 공유된 자원의 데이터를 여러 쓰레드가 접근 하는 것을 막는 기술입니다. 공유 리소스에 대하여 locking과 unlocking을 통하여 임계 영역을 가진 쓰레드들의 Running time이 서로 겹치지 않게 각각 단독으로 실행되게 하는 기술입니다. 임계 영역 (Critic..