반응형
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 |