Ich habe den folgenden Code und ich fragte mich, ob jemand könnte es für mich betrachten.Ich bin besorgt, dass dieser Code nicht tut, was ich will, weil die Objekte verwendet werden
Ich habe eine Multi-Thread-Anwendung, die alle ein Objekt teilen und darauf arbeiten. Ich habe einen Zeiger auf ein bestimmtes Element erstellt, so dass ich nicht jedes Mal den langen Pfad eingeben muss, aber ich befürchte, dass es möglicherweise eine Kopie des gemeinsamen Objekts statt des freigegebenen Objekts ändert Objekt selbst. Hier
ist der Code:
RPCThread* thr = &(args->s->_shared-_>rpcThread[args->threadIndex]);
...
thr->_in_use = true;
...
sema_post(&(thr->_sem_result));
Ist dies gültig oder würde dies nur eine Kopie zu modifizieren werden?
TLI! Sie müssen uns mehr über Ihre Datenstrukturen erzählen ... Aber ich sehe nichts, was eine Kopie hier machen würde. Bis ich weitere Informationen bekomme, wäre eine vorläufige Reaktion, dass Sie das richtige Objekt modifizieren ... aber nicht unbedingt sicher fädeln. – Varkhan