Scroll to navigation

pthread_rwlockattr_setkind_np(3) Library Functions Manual pthread_rwlockattr_setkind_np(3)

الاسم

pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np - ضبط/الحصول على نوع قفل القراءة-الكتابة لكائن سمة قفل القراءة-الكتابة للخيط

المكتبة

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

موجز

#include <pthread.h>
int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr,
                       int pref);
int pthread_rwlockattr_getkind_np(
                       const pthread_rwlockattr_t *restrict attr,
                       int *restrict pref);

متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

pthread_rwlockattr_setkind_np(), pthread_rwlockattr_getkind_np():


_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L

الوصف

تضبط الدالة pthread_rwlockattr_setkind_np() سمة "نوع القفل" لكائن سمة قفل القراءة-الكتابة المشار إليه بـ attr إلى القيمة المحددة في pref. يمكن ضبط المعامل pref إلى أحد القيم التالية:

هذا هو المبدئي. يمكن للخيط الاحتفاظ بأقفال قراءة متعددة؛ أي أن أقفال القراءة تكرارية. وفقًا لمواصفات يونكس الموحدة، يكون السلوك غير محدد عندما يحاول قارئ وضع قفل، ولا يوجد قفل كتابة ولكن كتّاب ينتظرون. إعطاء الأفضلية للقارئ، كما هو مضبوط بواسطة PTHREAD_RWLOCK_PREFER_READER_NP، يعني أن القارئ سيحصل على القفل المطلوب، حتى لو كان كاتب ينتظر. طالما يوجد قراء، سيجوع الكاتب.
هذا مخصص ليكون نظير قفل الكتابة لـ PTHREAD_RWLOCK_PREFER_READER_NP. يتم تجاهل هذا بواسطة glibc لأن متطلب POSIX لدعم أقفال القراءة التكرارية سيؤدي إلى إنشاء هذا الخيار لأقفال تامة تافهة؛ بدلاً من ذلك استخدم PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP الذي يضمن أن مطور التطبيق لن يأخذ أقفال قراءة تكرارية وبالتالي تجنب الأقفال التامة.
ضبط نوع القفل على هذا يتجنب جوع الكاتب طالما أن أي قفل قراءة لا يتم بطريقة تكرارية.

تعيد الدالة pthread_rwlockattr_getkind_np() قيمة سمة نوع القفل لكائن سمة قفل القراءة-الكتابة المشار إليه بـ attr في المؤشر pref.

قيمة الإرجاع

عند النجاح، تعيد هذه الدوال 0. بمعاملات مؤشر صالحة، تنجح pthread_rwlockattr_getkind_np() دائمًا. عند الخطأ، تعيد pthread_rwlockattr_setkind_np() رقم خطأ غير صفري.

الأخطاء

يحدد pref قيمة غير مدعومة.

المعايير

جنو؛ ومن هنا جاءت اللاحقة "_np" (غير منقول) في الأسماء.

التاريخ

glibc 2.1.

انظر أيضًا

pthreads(7)

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

8 فبراير 2026 صفحات دليل لينكس 6.18