차곡차곡

#13장 스레드와 멀티태스킹 본문

Language/JAVA

#13장 스레드와 멀티태스킹

sohy 2021. 6. 28. 17:03

스레드 클래스 작성 : Thread 클래스

[Thread 클래스 상속]

class TimerThread extends Thread {

....

public void run() { //run() 오버라이딩

try {

sleep(1000);

}

catch(InterruptedException e) {

return;

}

}

}

[객체 생성]

TimerThread th = new TimerThread();

th.start();

스레드 클래스 작성 : Runnable 인터페이스

[Runnable 인터페이스 구현]

class TimerRunnable implements Runnable {

....

public void run() { //run() 오버라이딩

try {

sleep(1000);

}

catch(InterruptedException e) {

return;

}

}

}

[객체 생성]

Thread th = new Thread(new TimerRunnable());

th.start();

스레드 강제 종료

스레드 A가 스레드 B를 강제 종료하고자 할 때

B.interrupt();

스레드 동기화 : synchronized

[메소드 전체를 임계 영역으로 지정]

synchronized void add() {}

* synchronized 메소드 : 한 스레드가 이 메소드를 사용할 때 다른 메소드는 사용 안 됨

[임의의 코드 블록을 임계 영역으로 지정]

synchronized(this) {

...

}

'Language > JAVA' 카테고리의 다른 글

[Java] 제곱 팁  (0) 2023.08.03
[Java] Java 입출력 최적화  (0) 2023.08.02
#7장 입출력 스트림  (0) 2021.06.28
#6장 패키지 개념과 자바 기본 패키지  (0) 2021.06.28
#5장 상속  (0) 2021.06.28
Comments