디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

선생님들 자바 스레드 질문좀 드려요

ㅇㅇ(125.242) 2024.09.04 16:14:52
조회 40 추천 0 댓글 0
														
public class Main {
public static void main(String[] args) {
ThreadA threadA = new ThreadA();
ThreadB threadB = new ThreadB();

threadA.start();
threadB.start();

try {
Thread.sleep(3000);
} catch (InterruptedException e) { }
threadA.work = false;

try {
Thread.sleep(3000);
} catch (InterruptedException e) { }
threadA.work = true;

try {
Thread.sleep(3000);
} catch (InterruptedException e) { }
threadA.stop = true;
threadB.stop = true;

}
}

class ThreadA extends Thread {
public boolean stop = false;
public boolean work = true;

@Override
public void run() {
while (!stop) {
if (work) {
System.out.println("ThreadA 작업 내용");
} else {
Thread.yield();
System.out.println("yield() A 호출");
}
}
System.out.println("ThreadA 종료");
}
}

class ThreadB extends Thread {
public boolean stop = false;
public boolean work = true;

@Override
public void run() {
while (!stop) {
if (work) {
System.out.println("ThreadB 작업 내용");
} else {
Thread.yield();
System.out.println("yield() B 호출");
}
}
System.out.println("ThreadB 종료");
}
}


이 코드의 yield() 함수에 대해서 궁금한것이 있는데요,


threadA.work가 false가 되면 ThreadA의 while문은 yield()를 실행하겠죠.


여기서 궁금한것이,


yield()라는 것이 호출한 스레드를 실행대기 상태로 만들고 다른 스레드에게 자원을 양보해서 실행기회를 더 많이준다


대충 이런 개념으로 아는데요


제가 생각한 호출결과는 work=false가 호출되고 yield()가 호출되면, ThreadA는 그즉시 스레드의 실행을 멈추고 ThreadB만 실행되는거였는데요


결과를 보니 


a15714ab041eb360be3335625683746f00534520d6a6ef89d63363f09f1ccd6e512a8b521a6833552277fa866c


요롷게 여러개가 호출된걸 볼수 있죠.


그러니까 yield() 뒤의 출력문까지 출력되고 몇번이나 출력된것으로보아


실행대기가 되지않고 몇번이나 ThradA가 실행대기 상태에 있지 않고 출력된것같은데요



저는 yield()가 실행되면 ThreadA가 딱 멈추고 while문일지라도 yield 뒤의 출력문은 출력이 되지않아아 할것이다~


라고 생각했거든요..


어떻게 된건가요?

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 기 세보여도 실제로는 멘탈 약할 것 같은 스타는? 운영자 24/11/04 - -
공지 최신 트렌드 뉴스를 한눈에! 디시트렌드 운영자 24/11/06 - -
2767226 인벤같은 사이트 url 왤캐 이상함? [5] 프갤러(112.150) 10.28 66 0
2767225 금일은 블랙미스 우콩 이 있을 예정입니다. [2] 사업의신(58.236) 10.28 34 0
2767224 어쩌면 한동훈씨가 대통령될지도 모르겠군요 [8] 헬마스터갤로그로 이동합니다. 10.28 67 0
2767223 코테 옛날에 풀었던거 다 까먹음 ㅆㅇㅆ(124.216) 10.28 31 0
2767222 해야할것을 정리해보자. 재현갤로그로 이동합니다. 10.28 35 0
2767221 너의 이상과 현실의 괴리가 크다는것을 인정해라 [2] 프갤러(58.29) 10.28 62 2
2767220 회사 복도에 바퀴벌레 두마리 기어다님 [6] 바퀴벌레갤로그로 이동합니다. 10.28 83 0
2767219 날이 추워지면 본격적으로 개인 프로젝트를 하려고 하는디 [6] 아스카영원히사랑해갤로그로 이동합니다. 10.28 93 0
2767218 자자 좀 쉬엄쉬엄 합시다. 사업의신(58.236) 10.28 22 0
2767217 내 코드 리뷰 한 애들 하나같이 다 잘짰다고 하네...자신감이 붙는다 ㅆㅇㅆ(124.216) 10.28 70 0
2767216 개발 노트북 오른쪽 텐키 쓰냐??? [3] 프갤러(116.82) 10.28 56 0
2767215 나이 40먹고 자료구조 트리 이해하면 ㅁㅌㅊ 임??? [4] 40대프린이(118.235) 10.28 100 0
2767214 머리 안감고 돌아다녀도 안쳐다보네 [3] 헬마스터갤로그로 이동합니다. 10.28 60 0
2767213 사람마다 타고난 강점이 있음 프갤러(61.79) 10.28 38 0
2767212 알고리즘 중에 연구가 잘 안 되어 있는 게 있는 거 같은데? [3] 프갤러(121.172) 10.28 87 1
2767211 하... 7시간짜리 강의 듣는데 며칠씩 걸림 프갤러(112.146) 10.28 47 0
2767210 문 서 만 들 기 존 나 싫 어 [1] 아스카영원히사랑해갤로그로 이동합니다. 10.28 63 0
2767209 다시 이거나 만드러야지. Rx 맨델브로셋 프갤러(121.172) 10.28 56 1
2767208 사수와의 대화(feat. 일어는 어렵다) [3] 프로외노자갤로그로 이동합니다. 10.28 77 0
2767207 금일 프비지원을 시작합니다. 사업의신(58.236) 10.28 35 0
2767206 나토리 인누왕♡ 딱국(118.235) 10.28 36 5
2767205 아무래도 회사에서 소스 라인수가 많지 않으면 물경력이게찌? [5] ㅇㅇ(211.234) 10.28 91 0
2767203 아 오다가 어떤 아줌마가 지적질 하는 거 보고 토나옴- [9] 프갤러(121.172) 10.28 91 1
2767202 오늘의 빵과 커피 40대프린이(118.235) 10.28 51 0
2767201 프로그래머스 레벨3에서 벽느끼는데 하... [3] 프갤러(61.255) 10.28 101 0
2767200 자바랑 스프링이랑 부트 강의없음? 프갤러(211.198) 10.28 49 0
2767199 while(!state.go(option=random)) [2] 프갤러(223.194) 10.28 46 0
2767198 인사평가 쓰는데 쓸게 없습니다 [1] 프로외노자갤로그로 이동합니다. 10.28 60 0
2767197 요즘은 국비도 초봉 3천이상 시작임? [7] 프갤러(112.171) 10.28 242 0
2767196 고졸국비34살 [1] ㅇㅇㅇ(1.237) 10.28 109 0
2767195 리눅스 왜씀? 프갤러(49.165) 10.28 46 0
2767194 안드로이드 문서는 볼댸마다 패버리고싶네 헬마스터갤로그로 이동합니다. 10.28 68 0
2767193 웹개발 놋북 추천좀 [1] ㅇㅇ갤로그로 이동합니다. 10.28 44 0
2767192 도대체 캡슐화를 왜 데이터 기밀 보호라고 번역하는거임? [4] ㅋㅋ(182.228) 10.28 75 0
2767191 컴퓨터공학이랑 정보보호쪽 비슷한 학과임? [2] ㅇㅇ갤로그로 이동합니다. 10.28 70 0
2767189 31살 사무직인데 때려치고 ai공부해서 미국빅테크 취업 가능해? 시민권o [17] 프갤러(220.117) 10.28 167 1
2767188 34살 IT 세일즈 > Go 개발자로 전직 완료 [2] 프갤러(58.127) 10.28 116 3
2767187 m4 맥미니 나오면 너네들 구매할거야? [1] 프갤러(14.39) 10.28 56 0
2767184 이력서 70개 내서 1개붙음 [8] ㅇㅇ(117.111) 10.28 139 0
2767183 하 오늘 할 일 하나 남았다 아스카영원히사랑해갤로그로 이동합니다. 10.28 34 0
2767182 개발자한테 장비주는 회사는 퇴사때 반납해야함? [8] 프갤러(222.104) 10.28 137 0
2767181 혼란스러운 세상속에서 흔들리지 않는 강한 절제력을 갖고싶구나. ㅇㅇ(223.38) 10.28 40 0
2767180 프갤 죧밥들아 형왔다 [17] Meow갤로그로 이동합니다. 10.28 113 0
2767179 KDT<< 수료증 취업에 의미있음?? [4] ㅇㅇ(106.101) 10.28 109 0
2767178 창업 성공해서 법인되면 반드시 내 회사에는 [4] ㅆㅇㅆ찡갤로그로 이동합니다. 10.28 93 0
2767177 좀 있으면 집간다 ㅆㅇㅆ찡갤로그로 이동합니다. 10.28 48 0
2767176 공기업 전산 들어왔다 [8] ㅇㅇ(106.102) 10.28 156 0
2767175 그런데 아껴쓸수록 경제에 악영향이지 않습니까? 헬마스터갤로그로 이동합니다. 10.28 29 0
2767174 간만에 바느질을 좀 했습니다 [2] 헬마스터갤로그로 이동합니다. 10.28 53 0
2767173 이게 그 sql 인젝션인지 머시긴가 ? [2] 프갤러(175.115) 10.28 101 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2