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 부모 생성자