JAVA

JAVA 스터디 : 스레드(Thread)

업무 중 2020. 12. 3. 16:25

스레드란?

 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위를 말하며, 세부적으로는 운영체제에 의해 관리되는 하나의 작업 혹은 태스크를 의미. 스레드와 태스크(혹은 작업)은 바꾸어 사용해도 무관.

  1. JVM에 의해 하나의 프로세스가 발생하고 main( ) 안의 실행문 들이 하나의 스레드이다.
  2. main( ) 이외의 또 다른 스레드를 만들려면 Thread 클래스를 상속하거나 Runnable 인터페이스를 구현한다.
  3. 다중 스레드 작업 시에는 각 스레드 끼리 정보를 주고받을 수 있어 처리 과정의 오류를 줄일 수 있다.
  4. 프로세스끼리는 정보를 주고받을 수 없다.

 

멀티스레딩이란?

여러 스레드를 동시에 실행시키는 응용프로그램을 작성하는 기법을 말함.

 

장점

  1. 메모리 공유로 인한 시스템 자원 소모가 줄어 듭니다.
  2. 동시에 두가지 이상의 활동을 하는 것이 가능해집니다.

 

단점

  1. 서로 자원을 소모하다가 충돌이 일어날 가능성이 존재합니다.
  2. 코딩이 난해해져 버그생성확률이 높아집니다.

 

출처: coding-factory.tistory.com/279

'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