티스토리 뷰
스레드는 동시에 여러개의 프로그램을 실행하는 효과를 낸다.
프로세스는 최소 하나의 스레드를 가지 있음.
프로세스 : 프로그램 실행의 최소 단위
병령 처리에는 다중 프로세스와 다중 스레드다 있다.
다중 스레딩은 하나의 프로그램이 동시에 여러 가지 작업을 할 수 있도록 하는 것
스레드는 프로세스 안쪽에 존재한다.
스레드와 프로세스의 차이점
-프로세스는 완벽히 독립적이기 때문에 메모리 영역(Code, Data, Heap, Stack)을 다른 프로세스와 공유하지 않는다.
-쓰레드는 해당 쓰레드를 위한 스택을 생성할 뿐 그 이외의 Code, Data, Heap영역을 공유한다.
<예제 1 - Thread 사용>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class Counting extends Thread{ @Override public void run() { for(int i =0; i< 10;i++){ System.out.println(i); } } } public class Test { public static void main(String[] args) { Thread t = new Counting(); t.start(); } } | cs |
결과 :
0
1
2
3
4
5
6
7
8
9
<예제 2 - Runnable 사용>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | class Counting2 implements Runnable{ @Override public void run() { for(int i=0;i<10;i++){ System.out.println(i); } } } public class ThreadTest2 { public static void main(String[] args) { Thread r = new Thread(new Counting2()); r.start(); } } | cs |
결과 :
0
1
2
3
4
5
6
7
8
9
자바에서 다중 상속이 불가능 한 것을 감안한다면 Runnable 인터페이스를사용하는 것이 좋다!!!
반응형
'언어 > JAVA' 카테고리의 다른 글
[JAVA] 정규식 (0) | 2016.09.22 |
---|---|
[JAVA] synchronized (0) | 2016.09.22 |
[JAVA] 해쉬맵(HashMap) (0) | 2016.09.20 |
[JAVA] ArrayList와 LinkedList (0) | 2016.09.20 |
[JAVA] 컬렉션 (0) | 2016.09.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- mysql
- synchronized
- Delete
- 연결
- 안드로이드
- 생성
- 하기
- 어노테이션
- 사용
- Server
- Create
- iNT
- spring
- 음식
- jdbc
- java
- Android
- mybatis
- Default
- 라이브러리
- 스프링
- Controller
- 종류
- js
- jsp
- UTF-8
- Class
- 클래스
- nsis
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함