Skip to content

Commit 0cbd558

Browse files
authored
Update Readme.md
1 parent ae2b4e4 commit 0cbd558

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

13-2. 부록A 동시성2/Readme.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
11
# 동시성2
2-
#####클라이언트/서버 예제에서는 단일 스레드로 동작하던 서버를 다중 스레드로 변경하는 것과 코드를 깨끗하게 변경하는 내용을 다룬다.
2+
##### 클라이언트/서버 예제에서는 단일 스레드로 동작하던 서버를 다중 스레드로 변경하는 것과 코드를 깨끗하게 변경하는 내용을 다룬다.
3+
4+
## 클라이언트/서버 예제
5+
일반적으로 애플리케이션에서 많은 시간을 보내는 가능성은 크게 2가지이다.
6+
- I/O : 소켓 사용, 데이터베이스 연결, 가상 메모리 스와핑 기다리기 등
7+
- 프로세서 : 수치 계산, 정규 표현식 처리, 가비지 컬렉션 등
8+
9+
일반적으로 프로그램이 프로세서 연산에 많은 시간을 보낸다면, 하드웨어를 추가하여 성능을 높이는 방식이 적합하다.
10+
프로세서 연산에 시간을 보내는 프로그램은 스레드를 늘린다고 해결할 수 있는 문제가 아니다.
11+
하지만 프로그램이 주로 I/O 연산에 시간을 보낸다면 동시성이 성능을 높여 줄 수 있다.
12+
13+
단일스레드 시스템에서 다중 스레드 시스템으로 변환하고, 성능을 높이기 위해서는 다음과 같은 방법을 사용해야한다.
14+
- 프로그램이 I/O에 많은 시간을 보내야 한다.
15+
- 관련된 코드(스레드)를 분리시켜 여러개의 클래스로 분리(스레드를 관리하는 코드는 스레드만 관리하도록)해 단일 책임 원칙을 지켜야 한다.
16+
17+
18+
## 가능한 실행경로
319

0 commit comments

Comments
 (0)