2013/10/19

run()과 start()의 차이 - 멀티 쓰레드(Multi Thread)

run() 메서드

- run() 메서드만 호출하는 것도 물론 가능
- 하지만, 멀티 쓰레드로 실행되는 게 아니라 단순히 run()이라는 이름의 싱글 쓰레드만 실행됨

start() 메서드

- run() 메서드 안의 내용이 멀티 쓰레드로 실행될 수 있도록 작업을 함
- 즉, 호출 스택(call stack)을 생성해서 run()이 첫번째로 저장되게 한다고.
- 호출 스택이 2개 이상인 때에는 스케줄러에 의해서 호출 스택에 들어 있는 메서드가 번갈아 실행된다고.

댓글 없음:

댓글 쓰기