Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 벌크헤드패턴
- thundering herd
- 이분탐색
- java
- 타임아웃
- 캐시 스탬피드
- id생성
- 베타락
- expired key
- session인증
- 슬라이스 테스트
- 낙관적 락
- Stack
- 자바
- BFS
- 트라이 자료구조
- queue
- 알고리즘
- ddl-auto
- 외부 서비스 장애
- DP
- 백준
- 비관적 락
- 예외처리
- 스택
- 이진탐색
- prg패턴
- JPA
- Entity Manager
- 다중 서버
Archives
- Today
- Total
Coding 01
멀티 쓰레딩 본문
멀티쓰레딩은 여러 프로세스가 동시에 실행되는 멀티 태스킹과 달리 하나의 프로세스 내에서 여러 작업을 여러 쓰레드를 통해 동시에 실행할 수 있도록 하는 방식이다.
쓰레드는 프로세스 내에서 실행되는 작업의 최소 단위이고, 독립적으로 실행한다.
병렬 처리를 통해 여러 작업을 동시에 처리할 수 있어 성능을 향상시킬 수 있다.
같은 프로세스에서 쓰레드들이 메모리와 자원을 공유할 수 있다.
그래서 여러 쓰레드가 같은 공유 데이터에 접근하려 하면 충돌이 일어날 수 있다.
자원의 경쟁으로 프로그램이 교착상태에 들어갈 수 있어 주의해야 한다.
해결하기 위한 동기화 방법으로는
뮤텍스, 세마포어, 모니터 방법이 있다.
뮤텍스(Mutex) 한 번에 하나의 쓰레드만 접근을 허용하는 잠금 메커니즘이다.
세마포어(Semaphore) 제한된 수의 쓰레드 접근을 허용하는 신호 메커니즘이다.
모니터(Monitor) 공유 자원에 대한 접근을 관리하는 고수준 동기화 구조이다.
자바에서는 Thread클래스가 있고, Runnable 인터페이스가 있다.
'기술면접' 카테고리의 다른 글
페이지교체 알고리즘 (0) | 2025.04.29 |
---|---|
PRG 패턴 (0) | 2025.04.25 |
페이징 쿼리 (0) | 2025.04.23 |
낙관적 락 & 비관적 락 (0) | 2025.04.22 |
String의 타입 캐스팅과 String.valueOf()의 차이점 (1) | 2025.04.14 |