C++طريقة تشغيل أكثر من ثريد في وقت واحد
في المثال التالي قمنا بتعريف دالة إسمها foo() عند استدعائها تقوم بطباعة الجملة "foo is executed.."
5 مرات.
بعدها قمنا بتعريف دالة أخرى إسمها bar() عند استدعائها تقوم بطباعة الجملة "bar is executed.."
5 مرات أيضاً.
في الأخير قمنا بإنشاء كائنين من الكلاس thread, الأول ينفذ الدالة foo() و الثاني ينفذ الدالة bar().
المثال الأول
سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.
foo is executed.. bar is executed.. bar is executed.. foo is executed.. bar is executed.. foo is executed.. bar is executed.. foo is executed.. bar is executed.. foo is executed.. All threads are stopped!
في المثال التالي قمنا بإعادة المثال الأول و لكننا قمنا بتعريف الدالة التي سينفذها الثريد بأسلوب Lambda Expression.
المثال الثاني
سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.
t1 is executed.. t2 is executed.. t2 is executed.. t1 is executed.. t2 is executed.. t1 is executed.. t2 is executed.. t1 is executed.. t2 is executed.. t1 is executed.. All threads are stopped!