pthread_exit(3) Library Functions Manual pthread_exit(3)

pthread_exit - إنهاء الخيط المستدعي

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

#include <pthread.h>
[[noreturn]] void pthread_exit(void *retval);

تنهي الدالة pthread_exit() الخيط المستدعي وتُعيد قيمة عبر retval تكون (إذا كان الخيط قابلًا للانضمام) متاحة لخيط آخر في نفس العملية يستدعي pthread_join(3).

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

عند إنهاء خيط، لا تُحرر الموارد المشتركة بين العمليات (مثل الميوتكسات ومتغيرات الشرط والإشارات وواصفات الملفات)، ولا تُستدعى الدوال المسجلة باستخدام atexit(3).

بعد إنهاء آخر خيط في عملية، تُنهى العملية كما لو استُدعيت exit(3) بحالة خروج صفرية؛ وبالتالي تُحرر الموارد المشتركة بين العمليات وتُستدعى الدوال المسجلة باستخدام atexit(3).

لا تعود هذه الدالة إلى المستدعي.

تنجح هذه الدالة دائمًا.

للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).

الواجهة السمة القيمة
pthread_exit() سلامة الخيوط MT-Safe

POSIX.1-2008.

POSIX.1-2001.

يؤدي إجراء return من دالة البدء لأي خيط غير الخيط الرئيس إلى استدعاء ضمني لـ pthread_exit()، باستخدام قيمة إرجاع الدالة كحالة خروج الخيط.

للسماح للخيوط الأخرى بمواصلة التنفيذ، يجب على الخيط الرئيس أن يُنهى باستدعاء pthread_exit() بدلاً من exit(3).

لا ينبغي أن تكون القيمة المشار إليها بواسطة retval موجودة على مكدس الخيط المستدعي، لأن محتويات ذلك المكدس غير محددة بعد إنهاء الخيط.

حاليًا، توجد قيود في منطق تنفيذ النواة لـ wait(2) على مجموعة خيوط متوقفة مع قائد مجموعة خيوط ميت. يمكن أن يظهر هذا في مشاكل مثل محطة مقفلة إذا أُرسلت إشارة توقف إلى عملية أمامية استدعى قائد مجموعة خيوطها بالفعل pthread_exit().

pthread_create(3), pthread_join(3), pthreads(7)

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

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

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

17 مايو 2025 صفحات دليل لينكس 6.18