C++의 다른 스레드에서 작업을 수행하는 데 필요한 몇 가지 객체가 있습니다. 동시에 여러 스레드에서 사용할 수있는 변수를 잠글 필요가 있다는 것을 알고 있지만 각 스레드가 동일한 객체의 다른 데이터 멤버에 액세스 (쓰는 중)하면 어떻게됩니까? 예를 들어, 각 스레드는 객체의 다른 메소드를 호출하고 호출 된 메소드 중 어느 것도 동일한 데이터 멤버를 수정하지 않습니다. 동일한 데이터 멤버에 액세스하지 않는 한 안전합니까? 아니면 어쨌든 전체 개체를 잠글 필요가 있습니까?C++의 다른 스레드에서 동일한 객체에 속한 다른 데이터 멤버에 액세스
이 주제에 대한 설명과 세부 사항을 살펴 보았지만 모든 예제는 단일 변수 또는 비 멤버 함수에 초점을 맞추는 것처럼 보입니다.
요약 할 내용 : 전체 개체에 잠금을 설정하지 않고 동일한 개체의 서로 다른 두 데이터 멤버에 서로 다른 두 스레드에서 안전하게 액세스 할 수 있습니까?
한 번에 두 스레드에서 동일한 멤버에 액세스하지 못하도록 어떻게 확신 할 수 있습니까? –
구조체 당 잠금 대신 struct 당 변수 잠금을 사용할 수 없습니다. 벌금 나뭇결 잠금 ?? –