작성
·
306
답변 1
0
안녕하세요?
자바 프로그램을 실행하면 기본적으로 메인 쓰레드라고 하는 하나의 쓰레드가 동작하게 됩니다. 이 곳에서 코드를 작성하게 되면 위에서 아래로 순서대로 코드가 실행되며 우리 예제에서는 '사장 청소 시작' 이 바로 그 부분입니다. 즉 Thread 를 상속하지 않고 그냥 메인 메소드에서 바로 cleanByBoss() 메소드를 호출하여 사장님이 청소를 하는 것이죠.
그런데 이와 동시에 직원의 청소도 함께 하기 위해서 별도의 쓰레드를 새로 생성하는 것입니다. 그래서 '직원 청소 시작' 은 말씀하신 것처럼 Thread 를 상속하는 CleanThread() 를 만들고 start() 를 통해 별도의 쓰레드에서 작업을 하도록 합니다. 그러면 사장(메인 쓰레드)님과 직원(별도의 쓰레드)의 청소가 함께 일어나는 효과를 낼 수 있지요!
궁금증 해결에 도움되길 바라겠습니다 😊
감사합니다.
감사합니다. 왜 콘솔창에 항상 -- 사장 청소 시작 -- 이 먼저 나오는지 궁금했는데, 메인 쓰레드가 먼저 실행되서 그런거였군요!-> 아, 제가 잘못 이해했습니다. 메인 스레드와 서브 스레드 사이에도 순서를 알 수 없어서
-- 직원 청소 시작 --
이 먼저 나오는 경우도 있네요😅