나는 다음 코드를 가지고 있으며 누군가 나를 위해 그것을 볼 수 있는지 궁금해하고 있었다.나는이 코드가 객체가 사용되는 방식 때문에 내가 원하는 것을하지 않는다고 염려한다.
나는 모두 개체를 공유하고 작업하는 멀티 스레드 응용 프로그램이 있습니다. 나는 특정 요소에 대한 포인터를 만들었으므로 매번 긴 경로를 입력 할 필요가 없지만 단순히 공유 객체가 아닌 공유 객체의 사본을 수정하는 것이 염려 스럽습니다. 개체 자체.
RPCThread* thr = &(args->s->_shared-_>rpcThread[args->threadIndex]);
...
thr->_in_use = true;
...
sema_post(&(thr->_sem_result));
이 유효하거나 그냥 사본을 수정하는 것입니다 : 여기
코드인가?
TLI! 데이터 구조에 대해 더 알려줄 필요가 있습니다. 그러나 여기에 사본을 만들 수있는 내용은 보이지 않습니다. 자세한 정보를 얻을 때까지 잠정적 인 응답은 올바른 개체를 수정하는 것입니다.하지만 반드시 그런 것은 아닙니다. 실을 안전하게 감싸십시오. – Varkhan