0
이것은 A. Williams C++ Concurrency in Action 북이며 위험 요소가있는 잠금이 적용되지 않은 항목입니다. 난 그냥 두 줄을 제외하고, 그것의 이해를 얻을 가정, 여기에 그들은 (여기 source)입니다IF의 기질 및 다음 문
가// code before
if (old_head) {
res.swap(old_head->data);
// code after
질문은 : 다른 스레드 포인터가되기 전에 "old_head"(수정 등)을 삭제할 수 있습니다 역 참조 (old_head-> data)? 논리에 따르면 윌리엄스의 전체 코드가 잘못된 것은 아니지만 그것이 일종의 원자 조작인지는 의심 스럽습니다. 어떻게 생각해?
http://preshing.com/20120612/an-introduction-to-lock-free-programming/ –