가시성 질문드립니다
조금 개념이 헷갈리는데요. 가시성의 개념이 어떤 쓰레드에서 공유변수의 값 하나를 수정했을 때, 다른 쓰레드가 해당 변수를 읽어들일 때
그 수정된 값을 읽어들인다는 보장이 없다. (캐시의 문제)
여기서 원자적 연산을 진행하면 동일 객체에 대해서 동일한 수정 순서를 관찰한다고 했는데, 항상 수정된 이후의 값이 관찰되므로
가시성이 해결된다고 보면되나요?
17분 50초쯤에 동일한 수정순서를 관찰한다해서 가시성문제가 여전히 해결된다고 하지 않는다고 하셨는데 34분 37초쯤에서는 atomic의 기본연산이 seq_cst정책이 디폴트이고 가시성 문제와 코드 재배치문제도 바로 해결된다고 하시는데
어떤말이 맞는지 궁금합니다
답변 1
1
SEQ_CST 옵션으로 하면 해결되지만
다른 느슨한 정책은 순서만 보장하거나 다르게 동작할 수 있습니다.
다만 이론과 현실은 조금 다를 수 있고
인텔 계열 칩에서는 가시성 문제를 재현하기 어려울거에요
writeLock을 잡을때 꼭 empty 상태여야하는 이유?
0
63
2
Memory Pool에서 오버플로우 질문입니다.
0
94
2
포토폴리오 및 진로 관련하여 고민입니다.
0
172
1
포토폴리오 관련 고민입니다.
0
91
1
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
0
107
2
성능 테스트 결과
0
117
2
게임 서버 Stateful, Stateless 진로 고민
0
147
1
WaitOnAddress와 Sleep의 차이 질문
0
98
1
궁금한거 있습니다.
0
92
2
JobTimer 구동 스레드
0
116
2
TryPop() 동작 관련 질문
0
86
1
로드맵 C#서버 C++서버 방향성 질문
0
162
2
스레드 id를 출력할떄 메인스레드 id도 출력되나요?
0
81
1
생명주기를 위한 의도적 복사
0
94
2
락프리의 실무에서 사용 질문
0
154
2
32bit threadID와 16비트 상위 WriteFlag에 대해
0
109
2
mutex와 sleep 차이점
0
133
1
실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다
0
167
2
Stomp Allocator의 Release함수에 대한 질문입니다.
0
102
1
공부법 관련해서
0
190
2
MakeShared 함수 관련
0
119
1
지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.
0
152
2
운영체제관련 질문입니다
0
144
1
send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.
0
125
2





