Wenn Sie die POSIX-Spezifikation für pthread_mutexattr_init()
lesen, heißt es:
Nachdem ein Mutex-Objekt-Attribute verwendet worden einen oder mehr mutexes zu initialisieren, jede Funktion die Attribute beeinflusst Objekt (einschließlich Vernichtung) sollte keinen Einfluss auf zuvor initialisierte Mutexe.
ähnlich, wenn auch nicht ganz so deutlich, die Spezifikation für pthread_attr_init()
sagt:
Die resultierenden Attribute Objekt (möglicherweise durch Einstellen einzelne Attributwerte modifiziert), wenn sie von pthread_create()
definiert die Attribute des Gewindes verwendet geschaffen . Ein einzelnes Attributobjekt kann in mehreren gleichzeitigen Aufrufen von pthread_create()
verwendet werden.
und die Spezifikation von pthread_create()
sagt:
Die pthread_create()
Funktion soll einen neuen Thread erstellen, mit Attributen von attr
angegeben, innerhalb eines Prozesses. Wenn attr
NULL ist, sollten die Standardattribute verwendet werden. Wenn die von attr
angegebenen Attribute später geändert werden, sind die Attribute des Threads davon nicht betroffen.
Ich denke, diese Zitate bedeuten, dass die Antworten sind:
Ja, das Attribut Objekt zerstören kann, wenn es bequem ist. Die POSIX-Aufrufe erstellen eine Kopie der Attribute.
Ja, es ist sicher, Attribute wieder zu verwenden.