일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gcp
- aws
- 클라우드
- Apache Kafka
- 프로그래밍문제
- 스프링부트
- 오일러프로젝트
- Spring
- 알고리즘
- VPC
- 스프링 부트
- Elasticsearch
- 월미도
- 로드밸런서
- JPA
- 자료구조
- 클라우드 컴퓨팅
- 백준
- springboot
- 인천여행
- Spring Boot
- 코드업
- Spring Data JPA
- Kafka
- 쿠버네티스
- 카프카
- Docker
- 백트래킹
- DFS
- 스프링
- Today
- Total
목록멀티스레드 (2)
GW LABS

저번 포스팅에서는 프로세스와 스레드에 대한 정의를 간단히 살펴봤고, C++와 자바에서 기초적인 멀티스레드 프로그램을 작성해봤다. 예제 프로그램에서 멀티스레드 프로그램에서 반드시 고려해야할 공유자원을 어떻게 처리할 것인지에 대한 문제 직면했었다. 여러개의 스레드가 동시에 같은 자원을 사용하려고 할 때 어떻게 해야할까? 동기화 저번 포스팅에 예제에서는 동기화하지 않은 자원에 여러 스레드가 자원을 사용하려고 할때 발생한 문제를 봤다. 각 스레드가 자원에 대해 제한없이 접근할 수 있었기 때문에 의도치 않은 오동작이 발생했다. 따라서 여러 스레드가 서로 정보를 공유하고 동작을 맞추는 것이 필요하다. 이를 동기화라고 한다. 동기화에 관련된 개념들 공유 데이터 : 여러 프로세스들이 공유하는 데이터 임계 영역 : 공유..

웹 개발 업무에서 통상적인 비즈니스 로직만 다루다보면 사실상 멀티스레드, 멀티프로세스를 통한 성능향상을 경험해볼 기회가 많지 않다. 그러나 웹 개발의 근간이 되는 정적 웹 서버 혹은 웹 어플리케이션 서버들만 해도 멀티 프로세스 및 멀티 스레드를 통해서 사용자의 요청을 효율적으로 처리하고 있다. 다뤄야 할 데이터의 크기가 GB, PB 급의 크기라면 싱글 스레드 혹은 싱글 프로세스로는 고객을 만족시킬 수 없다! 이번 멀티스레드, 멀티프로세스 포스팅 시리즈를 통해서 이론을 실제로 코드로 구현해보고 컴퓨터한테 어떻게 멀티태스킹을 효율적으로 시킬 수 있을지 알아보려고 한다. 프로세스 vs 스레드 먼저 프로세스와 스레드에 대해 간단히 복습해보자. 프로세스는 실행을 위해 시스템에 등록된 작업을 의미한다. 따라서 각각..