본문 바로가기
Develop/Java

JAVA 멀티스레드 제어와 메소드

by J0DEV 2021. 8. 9.
반응형

ThreadEx.zip
다운로드


Thread 클래스

1. 스레드 개요

멀티 태스킹

  • 여러 개의 프로세스가 하나의 운영체제에서 동시에 실행되는 것을 의미한다.
  • CPU의 작업 시간을 각 프로세스가 돌아가면서 할당 받는다.

멀티 스레딩

  • 하나의 프로세스 내에서 여러 개의 작업을 동시에 실행하는 것을 의미한다.
  • 스레드 : 프로세스 내의 작업 단위이다.

 

2. Thread 클래스 사용법

작성법

  • 스레드 클래스를 상속받아 run() 메소드를 오버라이딩한다.
  • 다른 클래스를 받드시 상속받아야 할 경우 Runnable 인터페이스를 구현한다.

 

3. run() 메소드 사용법


Runnable클래스

1. Runnable 인터페이스 개요

  • 자바에서는 다중상속이 불가능하므로 다른 클래스를 상속받은 상태에서 Thread 클래스를 상속받을 수 없다.
  • 인터페이스는 다중 상속이 가능함으로 스레드의 기능을 가진 runnable 인터페이스를 구현하여 스레드 프로그램을 작성할 수 있다.

2. Runnable 인터페이스 사용법


스레드 제어

1. 자원 공유 문제

  • 스레드는 동일한 프로세스 내에서 동일한 데이터를 공유한다.
  • 동일한 데이터에 여러 개의 스레드가 접근할 수 있으므로 데이터의 일관성과 관련된 문제가 발생할 수 있다.

2. 동기화 메소드

  • 동기화 : 하나의 자원에 대해 한 시점에서 하나의 스레드만 접근이 가능하도록 하는 기술
  • 동기화 메소드를 구현하기 위해서는 synchronized 키워드를 사용하여야 한다.
  • 동기화 메소드를 스레드가 호출할 경우 이미 접근한 스레드가 작업을 완료할 때까지 기다려야 한다.

3. 예제

 

 

반응형

'Develop > Java' 카테고리의 다른 글

JAVA 예외처리, 입출력 스트림  (0) 2021.08.09
JAVA 애플릿 구조 및 프로그래밍  (0) 2021.08.09
JAVA 그래픽 구조, 그래픽 메소드  (0) 2021.08.09
JAVA 상위하위레벨 이벤트  (0) 2021.08.09
JAVA Event  (0) 2021.08.09