Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
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
Tags
more
Archives
Today
Total
관리 메뉴

시다바리

[Java] Multi-Thread 본문

Language/Java

[Java] Multi-Thread

호서아빠 2008. 9. 9. 16:14

I. Multi thread의 개요
. Multi thread의 개념
 - 여러 개의 Thread를 사용하여 하나의 수행업무를 동시에 처리하는 프로세스 제어기법
 정의 좋습니다. But 6하원칙으로 볼때 좀 빠진게 있습니다..
 여러 개의 Thread를 사용하여 하나의 수행업무를 동시에 처리함으로 컴퓨터의 처리속도를 증가시키는 프로세스 제어기법

.. Multi thread의 개념도

 - CPU가 매우짧은 단위시간인 시분할 방식으로 복수의 Thread에 차례로 할당하여 복수의 처리가 동시에 이루어지는 것처럼 보임

. Multi thread의 특징 <--  좋습니다..

 - 예측불가 : Thread는 독립적이며, 실행/종료순서는 예측불가

 - 동기화    : 한 프로세스내의 다른 Thread들과 Sync

 - 우선순위 : Thread는 자신의 stack, PC, 레지스터등의 다양한 우선순위 가짐

 - 자원공유 : Thread Process의 일부로서 데이터공유가 용이하고 Local자원임

 - 성능       : 한 프로세스가 Sequencial하게 수행되는 것보다 월등한 처리성능가짐

  

II. Multi thread의 문제점 및 해결기법

. Multi thread의 문제점

과제

내용

프로그램 복잡성

-Thread의 동기화등으로 프로그램 복잡해짐

경쟁상태 돌입

-동기화가 불확실 할 경우 Race Condition발생
 (Deadlock)

우선순위 역전

- 우선 순위가 높은 Thread가 실행정지 또는 후순위
 처리 될수 있음

사용자 예측불능

실행순서등을 예측할수 없음

 
. Multi thread의 문제점의 해결기법(동기화)

 - 주로 Multi thread수행시 둘이상의 thread가 공유 자원 접근함으로써 발생되는 문제해결을 위해 공유자원의 접근제어 필요

해결기법

내용

임계영역

(Critical Section)

사용자객체로부터 공유자원에 대해 하나의 thread만 접근허용

세마포어

(Semaphore)

P연산(자원점유상태), V연산(자원해제상태)으로 이루어지며, 자원의 점유와 해제를 통제

상호배제

(Mutex)

Mutual Exclusive

시스템의 어떠한 자원(임계영역)을 한 시점에서 한 개의 프로세스 만이 사용할 수 있도록 제어

 

 
III. Multi thread 활용시 고려사항

. 운영자측면

 - Multi thread의 사용전에 효율적인 Process 운영방안 수립이 필수

 - 원하는 수준의 Multi thread를 지원하는 O/S 탑제 제품의 선택중요

. 프로그래머 측면

 - Thread간 자원사용으로 Deadlock발생하지 않도록 설계 및 프로그래밍 필요

 
 좋습니다...

제가 목차를 잡는다면,,

I. Multi thread의 개요      

    가. Multi thread의 개념

    나. Multi thread의 특징

2. Multi thread의 구현원리

    가. 구현원리도

    나. 구현 절차

3. Multi thread의 문제점 및 해결기법

    가. Multi thread의 문제점

    나. Multi thread의 문제점의 해결기법(동기화)
 

 Multi thread 활용시 고려사항도 좋지만 문제점 및 해결방안에 녹여도 될듯 합니다..

출처 : http://sikaru83.tistory.com/8?srchid=BR1http%3A%2F%2Fsikaru83.tistory.com%2F8

Comments