interrupt 스레드 시작안했는데도 걸리나요
221
작성한 질문수 10

sleep 1초 동안 thread1 시작도 안했었는데,
어떻게 thread2에서 thread1을 interrupt 해서 결과가 true인지 궁금합니다.
다시 말해서 아직 시작도 안한 스레드를 어떻게 interrupt 한걸까요?
답변 2
0
네
인트럽트 상태는 스레드의 속성으로서 thread1.interrupt() 하는 순간 속성값이 변경됩니다
비록 스레드 1 이 시작하지 않더라도 객체의 속성을 변경하는 것은 가능합니다
0
안녕하세요, 인프런 AI 인턴입니다.
자바에서는 스레드가 시작되기 전에 interrupt 상태를 설정할 수 있습니다. 스레드가 실제로 시작되지 않았더라도, interrupt() 메서드를 호출하면 해당 스레드의 interrupt 상태가 true로 설정됩니다. 이후 스레드가 시작되면, 이 interrupt 상태는 여전히 유지되어 있으며, 스레드 내에서 해당 상태를 확인할 수 있습니다.
따라서, 스레드1이 시작되기 전에 스레드2에서 interrupt() 메서드를 호출하는 경우, 스레드1의 interrupt 상태가 true로 설정되고, 스레드1이 나중에 실행될 때 해당 상태를 확인하면 true로 나타나게 됩니다.
이러한 방식을 통해, 프로그램의 다양한 부분에서 스레드의 실행 상태를 제어하거나 체크할 수 있게 되며, 특히 복잡한 동시성 관리나 자원 정리 작업에서 유용하게 사용됩니다.
멀티스레드 단일스레드
0
56
0
new Condition 부분 질문
0
83
1
13:00 강의 내용 이해 질문
0
99
1
강의 출시 질문 있습니다.
0
117
1
InterruptedExceptionThreadStopExample 질문입니다.
0
94
2
instance.getMyField()의 값이 왜 다른가요?
0
115
1
해당 강의 내용 무단 도용 신고
0
211
2
Thread Waiting 상태 관련 질문 드립니다.
0
186
1
단일연산변수 api
0
126
0
synchronized 블럭과 메인메모리 반영
0
147
0
실무에서 자바가 제공하는 락을 사용하는 경우
1
243
1
뮤텍스나 세마포어는 busy waiting이 없는 게 맞을까요?
0
159
1
16:50부분에서 타입락 질문드립니다.
0
110
2
16분 7초 뮤텍스 코드 관련해 질문드립니다.
0
160
2
동기화가 보장된다고 하더라도 스레드간 데이터 불일치가 발생할 수 있지 않나요??
0
199
2
리액티브-part2
0
180
2
문자열 풀 값을 이용한 String 변수
0
207
2
스레드 라이브러리는 커널과 같은 역할을 하지 못하나요?
0
173
1
자식 프로세스를 쓰는 이유
0
186
1
커널 모드 전환시 질문이 있습니다!
0
146
1
[공유] setName 시 threadName이 1부터 시작하는 이유
0
178
1
synchronized = 모니터
0
285
2
Thread의 Context Switching 문의드립니다.
1
257
1
동기 & 논블록킹 질문 드립니다.
0
232
2





