sched_yield(2)

الاسم
sched_yield - يتخلى عن المعالج

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <sched.h>

int sched_yield(void);

الوصف
تتسبب sched_yield() في تخلي الخيط المستدعي عن وحدة المعالجة المركزية. يُنقل الخيط إلى نهاية قائمة انتظار أولويته الثابتة، ويُسمح لخيط جديد بالتشغيل.

قيمة الإرجاع
عند النجاح، تُرجع sched_yield() 0. عند الخطأ، تُرجع -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء
في تطبيق لينكس، تنجح sched_yield() دائمًا.

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

التاريخ
POSIX.1-2001 (لكنه اختياري). POSIX.1-2008.

قبل POSIX.1-2008، عرّفت الأنظمة التي تتوفر فيها sched_yield() _POSIX_PRIORITY_SCHEDULING في <unistd.h>.

تحذيرات
sched_yield() مخصصة للاستخدام مع سياسات الجدولة في الوقت الفعلي (أي SCHED_FIFO أو SCHED_RR). استخدام sched_yield() مع سياسات جدولة غير حتمية مثل SCHED_OTHER غير محدد ويعني على الأرجح أن تصميم تطبيقك معطوب.

إذا كان الخيط المستدعي هو الخيط الوحيد في قائمة الأولوية القصوى في ذلك الوقت، فسيستمر في التشغيل بعد استدعاء sched_yield().

تجنب استدعاء sched_yield() دون داع أو بشكل غير مناسب (مثلًا، عندما تكون الموارد التي تحتاجها خيوط أخرى قابلة للجدولة ما زالت محتجزة من قبل المستدعي)، لأن القيام بذلك سيؤدي إلى تبديلات سياق غير ضرورية، مما يضعف أداء النظام.

انظر أيضًا
sched(7)

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

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

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