2019. 7. 1. 13:55ㆍJava
쓰레드 : 모든 일의 기본 단위. 실제 OS에서 인식하고 작동하는 작업 단위. 메인메소드를 호출하는 것도 프로세스(프로그램이 실행될 때 프로세스에 할당된 메모리) 생성시 함께 생성되는 메인쓰레드를 통해서 이뤄진다.
쓰레드는 이미 클래스(Thread)가 있다. 그것을 잘 상속받아서 쓰면 된다.
쓰레드에는 항상 run()이라는 메소드가 있어야 한다. 그렇게 하기로 약속되어있다.
Thread class를 extends하면 run() 메소드 블록에 있는 내용을
메인메소드에서 start()로 실행한다.
run()을 실행하면 한 동작을 다 한 다음에 다음 동작을 한다.
st1와 st2라는 객체가 있을 때, start가 두 객체를 동시에 작업하다 보니 결과물은 st1 결과물과 st2 결과물이 섞여서 나오게 된다.
Thread class 안에는 sleep이라는 메소드가 있다.
(sleep = 쉴 시간. 100 = 0.1초이고 1000 = 1초)
그런데 sleep에도 예외가 발생할 수 있어서 try catch 구문을 쓴다.
Thread는 일의 우선순위를 생각해서 작업을 한다. 작업 우선순위를 정할 수 있다.
동시에 여러 일을 하기 위한 것이 thread이다.
thread를 상속받지 못하는 경우에는 thread 인터페이스를 제공한다.
implements runnable 하면 아직은 thread 가 아니다.
new 로 thread 객체를 만들어야 thread가 된다.
runnable()은 무조건 run()을 만들게 되어있다.
'Java' 카테고리의 다른 글
JSP 페이지 이동 (0) | 2019.07.08 |
---|---|
JSP 1부터 10까지 테이블에 담기 (0) | 2019.07.08 |
오버로딩과 오버라이딩에 대한 짧은 설명 (0) | 2019.07.01 |
자바의 4가지 접근지정자 (0) | 2019.06.21 |
자바와 JDBC 연동 프로세스 (0) | 2019.06.20 |