320x100
반응형
- 우선순위
우선순위를 직접 지정하기 위해서 setPriority()사용해서 직접 상수 혹은 Thread.MAX_PRIORITY와같은 클래스 상수 사용
- Synchronized(동기화)
여러 스레드가 하나의 객체에 접근을 하려고 할 때 값의 잘못된 변경을 막기 위해서 스레드를 잠금
동기화를 설정하는 것은 인스턴스, 정적메소드 어디든 붙일 수 있다.
public synchronized void method(){
//하나의 스레드만 실행가능
}
public void method(){
//여러 스레드 실행가능
synchronized(공유객체){
//하나의 스레드만 실행가능
}
}
- 스레드 상태
실행 대기 - notifyAll(), notify(), yield() : 양보 후 대기
일시정지 - sleep(long time) : 일정 시간동안 정지한후 다시 대기상태로 돌입, wait(long time), join() : 해당 메소드 실행한 스레드는 일시정지 실행 대기가 되기 위해서는 해당 메소드를 실행한 스레드의 종료 혹은 일정시간 후에
종료 - stop()
*interrupt() - 일시정지 상태의 스레드에 예외를 발생시켜 실행대기 혹은 종료 상태로
*객체를 생성하고 start를 하면 실행 대기상태 <->(반복) 실행-> 종료 과정
- 데몬스레드
주 스레드의 작업을 도와주는 보조 스레드, 주 스레드가 종료되면 강제로 자동 종료됨
데몬스레드 설정하기 위해서 setDemon(true)호출 *단 start()호출 전에 설정해야함 IllegalThreadStateException 예외발생할 수 있음
- 스레드 그룹, 스레드 풀
스레드 그룹 - 동일한 목적을 가진 스레드를 묶어서 관리할때 이용된다.
*두개는 더 공부 후에 작성 아직 자세히 모르겠음
320x100
반응형
'공부기록 > Java' 카테고리의 다른 글
람다 (0) | 2022.04.16 |
---|---|
제네릭(2) (0) | 2021.08.09 |
제네릭(1) (0) | 2021.08.07 |
스레드(2) - Runnable(Interface) vs Thread (Class) (0) | 2021.08.03 |
스레드(1) - 생성 (0) | 2021.08.03 |