CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): wizest (각곰)
날 짜 (Date): 2002년 9월  9일 월요일 오후 04시 51분 44초
제 목(Title): Re: [Q] thread와 volatile



컴파일러 최적화 대상에서 제외 되는것 같습니다.

잘은 모르겠지만 저게 없으면 컴파일러가

보고 의미 없는 코드거나 별 하는 일 없는

데드 코드일 경우 날려버리는데 

그게 실제 다른 프로세서나 쓰레드에서 읽고 하는거라면

그런식으로 날아가버리면 곤난하죠.. -_-


방금 생각난 예제로는 

음.. 메모리에서 패치해서 레지스터에 저장하고

그이후에 계속 레지스터만 본는 코드가 있다면... (실제로는 메모리를

보게 했는데 컴파일러가 최적화 하다보니.. 이게

메모리에서 한번 패치이후 변하는게 없어보인다는 겁니다.)

다른 쓰레드나 프로세서에서 메모리 내용을 바꾸어 줬는데

이쪽편에선 그냥 레지스터만 한번 더 읽으면 프로그램 맛가죠...


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.