Java Threads/Threading MultiTasking

data deadlock, integrity
May 30, 2024
Java Threads/Threading MultiTasking

Java Multitasking

Multitasking devices

운영체제가 관리하는 동시에 2개 이상의 프로세스(여러 스레드로 나뉘어 작업)가 처리 가능한 모든 작업

(ex. 뮤직비디오 재생-음악+비디오 재생)

Java Threading은 JVM이 수행

jvm이 threads life scheduling 관리

단, one application program이 JVM에 할당, 내부에 여러 threads(갈래; 실)가 존재

JVM Thread Scheduling

thread의 우선 순위를 scheduling한다.

이 때 우선순위를 동등하게 부여할 수 있다.

Exercise 1

Class Thread를 확장(상속)하여 Thread Scheduling해 보기

public class TimerThread extends Thread{
    int n = 0;
    public void run() {
        while (true) {
            n++;
            System.out.println(n);
            try {
//
                sleep(2000);
            } catch (InterruptedException e) {
//                e.printStackTrace();
                return;
            }

        }
    }

    public static void main(String[] args) {
        TimerThread t = new TimerThread();
        t.start();
    }
}

Thread.sleep() static method를 사용하여 대기시간을 2000ms로 부여합니다.

console

..
59
60
61
62
63
64
65
66
67
68
69

Exercise 2

Runnable을 상속하여 Thread Scheduling

class TimerThread implements Runnable{
    public void run() {
      
     }
}

Exercise 3

Share article

SW Engineering Blog