pthread_attr_setdetachstate(3)

الاسم
pthread_attr_setdetachstate, pthread_attr_getdetachstate - تعيين/الحصول على سمة حالة الفصل في كائن سمات الخيط

المكتبة
مكتبة مسالك POSIX (libpthread، -lpthread)

موجز
#include <pthread.h>

int pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
int pthread_attr_getdetachstate(const pthread_attr_t *attr,
                                int *detachstate);

الوصف
تضبط الدالة pthread_attr_setdetachstate() سمة حالة الفصل لكائن سمات الخيط المشار إليه بـ attr إلى القيمة المحددة في detachstate. تحدد سمة حالة الفصل ما إذا كان الخيط المنشأ باستخدام كائن سمات الخيط attr سينشأ في حالة قابلة للانضمام أو حالة منفصلة.

يمكن تحديد القيم التالية في detachstate:

PTHREAD_CREATE_DETACHED
    ستنشأ الخيوط المنشأة باستخدام attr في حالة منفصلة.

PTHREAD_CREATE_JOINABLE
    ستنشأ الخيوط المنشأة باستخدام attr في حالة قابلة للانضمام.

الإعداد المبدئي لسمة حالة الفصل في كائن سمات خيط مهيأ حديثًا هو PTHREAD_CREATE_JOINABLE.

ترجع الدالة pthread_attr_getdetachstate() سمة حالة الفصل لكائن سمات الخيط attr في المخزن المؤقت المشار إليه بـ detachstate.

قيمة الإرجاع
عند النجاح، تُعيد هذه الدوال القيمة 0؛ وعند الخطأ، تُعيد رقم خطأ غير صفري.

الأخطاء
قد تفشل الدالة pthread_attr_setdetachstate() مع الخطأ التالي:

EINVAL
    قيمة غير صالحة حُددت في detachstate.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
pthread_attr_setdetachstate(), pthread_attr_getdetachstate() | سلامة الخيوط | MT-Safe

المعايير
POSIX.1-2008.

التاريخ
POSIX.1-2001.

ملاحظات
انظر pthread_create(3) لمزيد من التفاصيل حول الخيوط المنفصلة والقابلة للانضمام.

يجب في النهاية إما ضم خيط منشأ في حالة قابلة للانضمام باستخدام pthread_join(3) أو فصله باستخدام pthread_detach(3); انظر pthread_create(3).

من الخطأ تحديد معرف خيط لخيط أنشئ في حالة منفصلة في استدعاء لاحق لـ pthread_detach(3) أو pthread_join(3).

أمثلة
انظر pthread_attr_init(3).

انظر أيضًا
pthread_attr_init(3), pthread_create(3), pthread_detach(3), pthread_join(3), pthreads(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.