java_spring (2024.05 ~ 2024.10)
24.05.29
qordpsem
2024. 5. 29. 09:28
메소드를 호출하면 호출한 순서대로 동작
후행 객체 입장에서 선행 객체의 동작이 모두 끝나야 자신에게 기회가 옴
만약 선행 객체가 동작하다가 문제 발생 시 후행 객체에게는 기회가 안 올 수도 있음
=> 공평하게 작업 수행시키기 위해 "멀티쓰레드 프로그래밍" 사용 가능
자바에서 멀티쓰레드 프로그래밍을 위해 Thread class와 Runnable interface 사용
Thread class 상속하거나 Runabble 구현하거나 공평하게 동작시키는 일은 (=쓰레드가 해야할 일은)
run 메소드를 오버라이딩해서 그 안에 써줌
쓰레드를 가동시키기 위해서는 start() 메소드 호출
만약 start() 메소드 호출하지 않고 직접 run() 호출 시 오류는 안남
but 공평하게 스케줄링 안됨 / 일반 메소드처럼 동작
즉 먼저 호출한 객체가 작업 완료된 후 다음 객체에게 기회 옴
쓰레드를 가동시키려면 run()호출이 아니라 start()호출 필수
또 Runnable interface 구현 시 Runnable interface 쓰레드를 가동시키기 위한 start() 메소드가 없기 때문에
Thread 객체로 포장한 후 start() 호출해야 함
ㅡㅡㅡㅡ
super(name)
graphicObject 부모 생성자