스레드란?
하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위를 말하며, 세부적으로는 운영체제에 의해 관리되는 하나의 작업 혹은 태스크를 의미. 스레드와 태스크(혹은 작업)은 바꾸어 사용해도 무관.
- JVM에 의해 하나의 프로세스가 발생하고 main( ) 안의 실행문 들이 하나의 스레드이다.
- main( ) 이외의 또 다른 스레드를 만들려면 Thread 클래스를 상속하거나 Runnable 인터페이스를 구현한다.
- 다중 스레드 작업 시에는 각 스레드 끼리 정보를 주고받을 수 있어 처리 과정의 오류를 줄일 수 있다.
- 프로세스끼리는 정보를 주고받을 수 없다.
멀티스레딩이란?
여러 스레드를 동시에 실행시키는 응용프로그램을 작성하는 기법을 말함.
장점
- 메모리 공유로 인한 시스템 자원 소모가 줄어 듭니다.
- 동시에 두가지 이상의 활동을 하는 것이 가능해집니다.
단점
- 서로 자원을 소모하다가 충돌이 일어날 가능성이 존재합니다.
- 코딩이 난해해져 버그생성확률이 높아집니다.
'JAVA' 카테고리의 다른 글
JAVA 스터디 : AWT, Swing (0) | 2020.12.07 |
---|---|
JAVA 스터디 : GUI (0) | 2020.12.04 |
JAVA 스터디 :: 컬렉션 (0) | 2020.12.01 |
JAVA 스터디 : 예외 (0) | 2020.11.30 |
JAVA 스터디 : API (0) | 2020.11.27 |