Ich habe einige Code, der dynamisch einen neuen std::thread
aus dem C++ 11 <thread>
Header weist, wie folgt aus:Löschen Sie std :: thread nach dem Aufruf von Join?
std::thread *th = new thread(/* my args */);
Einige Zeit später rufe ich beitreten:
th->join();
Da ich dynamisch zugewiesen der Thread, muss ich auch delete th;
anrufen, um den Speicher freizugeben? Wenn ich das tue, muss ich immer zuerst join()
anrufen?
Ich denke, Sie tun. Aber warum nicht shared_ptr verwenden, da Sie C++ 11 verwenden? –
Ich lernte C++, bevor C++ 11 herauskam und lerne immer noch über all die neuen Sachen. Ich dachte nicht, shared_ptr zu verwenden :) – bobroxsox
oder besser, verwenden Sie 'std :: unique_ptr', es sei denn, Sie benötigen wirklich eine gemeinsame Eigentümerschaft. Ein eindeutiger Besitzer macht auch deutlich, wer für den Beitritt verantwortlich ist –