- unstable 4.31.0-1
| pthread_attr_setscope(3) | Library Functions Manual | pthread_attr_setscope(3) |
الاسم¶
pthread_attr_setscope, pthread_attr_getscope - تعيين/الحصول على سمة نطاق التنافس في كائن سمات الخيط
المكتبة¶
مكتبة مسالك POSIX (libpthread، -lpthread)
موجز¶
#include <pthread.h>
int pthread_attr_setscope(pthread_attr_t *attr, int scope);
int pthread_attr_getscope(const pthread_attr_t *restrict attr,
int *restrict scope);
الوصف¶
تضبط الدالة pthread_attr_setscope() سمة نطاق التنافس لكائن سمات الخيط المشار إليه بواسطة attr إلى القيمة المحددة في scope. تُعرّف سمة نطاق التنافس مجموعة الخيوط التي يتنافس ضدها خيط للحصول على موارد مثل وحدة المعالجة المركزية. يحدد POSIX.1 قيمتين محتملتين لـ scope:
- PTHREAD_SCOPE_SYSTEM
- يتنافس الخيط على الموارد مع جميع الخيوط الأخرى في جميع العمليات على النظام الموجودة في نفس نطاق تخصيص الجدولة (مجموعة من معالج واحد أو أكثر). تُجدول خيوط PTHREAD_SCOPE_SYSTEM بالنسبة لبعضها البعض وفقًا لسياسة الجدولة والأولوية الخاصة بها.
- PTHREAD_SCOPE_PROCESS
- يتنافس الخيط على الموارد مع جميع الخيوط الأخرى في نفس العملية التي أُنشئت أيضًا بنطاق تنافس PTHREAD_SCOPE_PROCESS. تُجدول خيوط PTHREAD_SCOPE_PROCESS بالنسبة للخيوط الأخرى في العملية وفقًا لسياسة الجدولة والأولوية الخاصة بها. يترك POSIX.1 غير محدد كيفية تنافس هذه الخيوط مع الخيوط الأخرى في عمليات أخرى على النظام أو مع خيوط أخرى في نفس العملية أُنشئت بنطاق تنافس PTHREAD_SCOPE_SYSTEM.
يتطلب POSIX.1 أن يدعم التنفيذ واحدًا على الأقل من نطاقات التنافس هذه. يدعم لينكس PTHREAD_SCOPE_SYSTEM، لكنه لا يدعم PTHREAD_SCOPE_PROCESS.
على الأنظمة التي تدعم نطاقات تنافس متعددة، ولكي يكون لإعداد المعامل الذي تجريه pthread_attr_setscope() تأثير عند استدعاء pthread_create(3)، يجب على المستدعي استخدام pthread_attr_setinheritsched(3) لتعيين سمة وراثة الجدولة لكائن السمات attr إلى PTHREAD_EXPLICIT_SCHED.
تُرجع الدالة pthread_attr_getscope() سمة نطاق التنافس لكائن سمات الخيط المشار إليه بواسطة attr في المخزن المؤقت المشار إليه بواسطة scope.
قيمة الإرجاع¶
عند النجاح، تُعيد هذه الدوال القيمة 0؛ وعند الخطأ، تُعيد رقم خطأ غير صفري.
الأخطاء¶
قد تفشل pthread_attr_setscope() مع الأخطاء التالية:
السمات¶
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
| الواجهة | السمة | القيمة |
| pthread_attr_setscope(), pthread_attr_getscope() | سلامة الخيوط | MT-Safe |
المعايير¶
POSIX.1-2008.
التاريخ¶
POSIX.1-2001.
ملاحظات¶
يشير نطاق التنافس PTHREAD_SCOPE_SYSTEM عادةً إلى أن خيط مساحة المستخدم مرتبط مباشرة بكيان جدولة نواة واحد. هذا هو الحال على لينكس لتنفيذ LinuxThreads القديم وتنفيذ NPTL الحديث، وكلاهما تنفيذان للخيوط بنسبة 1:1.
يحدد POSIX.1 أن نطاق التنافس المبدئي مُعرّف بواسطة التنفيذ.
انظر أيضًا¶
pthread_attr_init(3), pthread_attr_setaffinity_np(3), pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_create(3), pthreads(7)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 17 مايو 2025 | صفحات دليل لينكس 6.18 |