pthread_setconcurrency(3)

الاسم
pthread_setconcurrency, pthread_getconcurrency - تعيين/الحصول على مستوى التزامن

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

موجز
#include <pthread.h>

int pthread_setconcurrency(int new_level);
int pthread_getconcurrency(void);

الوصف
تُعلم الدالة pthread_setconcurrency() التطبيق بمستوى التزامن المطلوب للتطبيق، المُحدد في new_level. يعتبر التطبيق هذا مجرد تلميح: لا يُحدد POSIX.1 مستوى التزامن الذي يجب توفيره نتيجة استدعاء pthread_setconcurrency().

يُوجّه تحديد new_level بقيمة 0 التطبيق لإدارة مستوى التزامن كما يراه مناسبًا.

تُرجع pthread_getconcurrency() القيمة الحالية لمستوى التزامن لهذه العملية.

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

تنجح pthread_getconcurrency() دائمًا، مُرجعة مستوى التزامن المُعيّن باستدعاء سابق لـ pthread_setconcurrency()، أو 0، إذا لم يُستدعَ pthread_setconcurrency() من قبل.

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

EINVAL
    new_level سالب.

يُوثّق POSIX.1 أيضًا خطأ EAGAIN ("القيمة المُحددة بواسطة new_level ستتسبب في تجاوز مورد نظام").

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

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

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

ملاحظات
مستوى التزامن المبدئي هو 0.

مستويات التزامن ذات معنى فقط لتطبيقات الخيوط M:N، حيث قد تُربط مجموعة فرعية من خيوط المستخدم لعملية ما في أي لحظة بعدد أصغر من كيانات جدولة النواة. يسمح تعيين مستوى التزامن للتطبيق بإعطاء النظام تلميحًا حول عدد كيانات جدولة النواة التي يجب توفيرها لتنفيذ فعال للتطبيق.

كل من LinuxThreads و NPTL هما تطبيقات خيوط 1:1، لذا فإن تعيين مستوى التزامن ليس له معنى. بعبارة أخرى، على لينكس، توجد هذه الدوال فقط للتوافق مع الأنظمة الأخرى، وليس لها تأثير على تنفيذ البرنامج.

انظر أيضًا
pthread_attr_setscope(3), pthreads(7)

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

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

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