본문 바로가기

자바의 정석 정리

자바의 정석 - 13.4 싱글쓰레드와 멀티쓰레드

13.4.1 싱글과 멀티쓰레드

  • 싱글쓰레드 : 하나의 작업 완료시 다른 작업 수행
  • 멀티쓰레드 : 두 개 이상의 작업을 일정 시간 단위로 번갈아 가면서 수행
class A{
    public static void main(String[] args){
        ThreadEx1 t1 = new ThreadEx1();
        t1.start();
        String input = JOptionPane.showInputDialog("아무값이나 입력");
        System.out.println("입력값:"+input)
    }
}

class ThreadEx1 extends Thread{
    public void run(){
        for(int i=10; i>0; i--){
            System.out.println(i);
            try{
                sleep(1000);
            }catch(Exception e){}
        }
    }
}

10
9
8
7
6
5
4
입력값:abcd
3
2
1

13.4.2 작업전환(context switching)

  • 쓰레드 및 프로세스의 전환
  • 쓰레드 보다 프로세스의 스위칭이 더 많은 정보를 저장해야 되므로 느림

13.4.3 쓰레드의 종속

  • 쓰레드는 OS 스케줄러의 영향을 받기 때문에 종속적이다.
  • 자바는 OS 독립적이나 일부분은 종속적인 부부인 있는데, 쓰레드가 그 중 하나