티스토리 뷰

Programming/JAVA

2016.4.7

짜모 2016. 4. 7. 09:33
반응형

16장 스레드


* 스레드 : 프로그램의 명령처리 흐름


* 프로세스 : 프로그램 실행의 최소 단위, 최소 하나의 스레드를 가짐


* 병렬 처리 : 두개이상의 명령문을 동시에 수행

* 병렬 처리 구현방법 


1. 다중 프로세스 

- 각 프로세스가 별도의 메모리 공간을 할당 받기 때문에 각 프로세스간에 데이터를 어떻게 주고 받을 것인지가 이슈(IPC)


              






2. 다중 스레드 

- 각 스레드들이 하나의 프로세스 안에서 공통 된 메로리 공간을 공유하기 때문에 교통정리가 이슈



↓ ↓





스레드 클래스


프로그램이 실행되면 처음 만들어지는 기본스레드(main thread)는 메인함수를 한번 실행하는 작업을 수행


void start() - 스레드 객체의 start 메소드가 호출되면 새로운 명령처리 흐름이 생성

파생스레드 - run함수를 한번 실행하는 작업을 수행



스레드 생성(구현) 방법

테스트>>




스레드 객체의 start가 호출되면 파생 스레드가 하나 만들어져서 해당 객체가 갖고있는 run함수를 실행함


run함수를 Counting클래스가 재정의 했으므로 실제 실행되는 run함수는 동적바인딩에 의해 Counting의 메소드 실행
















결과값

0

1

2

3

4

5

6

7

8

9

}





테스트2>>



스레드 객체를 만들때 Runnable을 구현한 클래스의 객체를 넘겨주면 start에서 실행할 run함수를 Runnable구현한 클래스객체의 메소드 실행













스레드 상태

생성 - 실행 - 중지 - 완료


동기화 키워드

synchronized


중지 키워드

sleep()

wait() - notify()



반응형

'Programming > JAVA' 카테고리의 다른 글

2016.4.11  (0) 2016.04.11
2016.4.8  (0) 2016.04.08
2016.4.6  (0) 2016.04.06
2016.4.5  (0) 2016.04.05
2016.4.4  (0) 2016.04.04
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함