‫مرحبًا بعودتك.
‫في الفيديو الأخير ، شاهدت كيفية استخدام سلاسل الرسائل وكيف يمكنك إعداد التهديدات وبدء تشغيلها ببساطة.
‫وفي هذا الفيديو ، سنلقي نظرة على الإنجاز.
‫لذلك نريد استخدام سلسلة رسائل للقيام بشيء ما وفقط إذا تم تنفيذ مهمة محددة ، فنحن نريد المضي قدمًا.
‫لذلك دعونا نلقي نظرة على ذلك.
‫سوف أقوم بإنشاء متغير جديد يسمى مصدر إكمال المهمة ، وبالتالي أحتاج إلى مصدر جديد لإكمال
‫المهمة ومنطقي.
‫لذا كما ترى ، فهي تشتكي لأنها لا تعرف ما هو مصدر إكمال المهمة.
‫ولإصلاحه ، أحتاج إلى استخدام مهام خيوط النظام.
‫لذا سأفعل ذلك لثانية.
‫ثم هنا.
‫ما سأفعله بعد ذلك هو أنني سأقوم بإنشاء متغير اختبار.
‫سأقوم فقط باستدعاء مهمة ، وهي مصدر إكمال المهمة ، أو نسمي هذه المهمة
‫فقط.
‫وقمنا بتعيين مهمتها على النتيجة.
‫لذلك نريد الحصول على نتيجة تلك المهمة.
‫لنفترض أن هناك مهمة محددة يجب تشغيلها والقيام بشيء ما ، ثم نريد أن نرى النتيجة.
‫لذا إذا نجح الأمر أو لم ينجح الأمر واختبار ذلك ، فسأتخلص من هذا الخط الأحمر هنا.
‫لذلك سأقوم بتشغيل الكود كما لو أنه لا يوجد شيء آخر في هذه الطريقة الرئيسية ، فقط هذا الكود هنا.
‫لذا سأقوم بتشغيله.
‫وكما ترى ، لم يحدث شيء.
‫لذا تظل وحدة التحكم على قيد الحياة أو مفتوحة ، على الرغم من عدم وجود الخط الأحمر الخاص بوحدة التحكم
‫، والذي نستخدمه دائمًا إذا أردنا إبقاء وحدة التحكم مفتوحة ، فهذا يعني أن هناك شيئًا لم يتم الانتهاء منه.
‫لذلك لم ينته هذا هنا في الواقع لأنه لا توجد نتيجة.
‫لذا فإن مصدر الإكمال هذا لا يكتمل أبدًا في الواقع ، لذلك لم يتم ضبطه على صواب أبدًا.
‫وهذا شيء يمكننا القيام به يدويًا.
‫لنفترض أن لدينا مهمة ونريد الحصول على النتيجة كما لدينا هنا ، لكننا نريد بالفعل إنهاء هذه المهمة
‫في نقطة واحدة.
‫إذن ما علينا القيام به من أجل ذلك هو إنشاء سلسلة رسائل.
‫لذلك سأقوم بإنشاء خيط
‫var يساوي خيط جديد ولن يتم بدء هذا الموضوع على الفور.
‫لذا فأنا أستخدم نهجًا مختلفًا قليلاً عما فعلناه هنا.
‫لذلك قلنا للتو خيطًا جديدًا ثم حصلنا على جسم الخيط.
‫لذا ، بالنسبة إلى الكود الذي يجب تنفيذه كلما بدأ هذا الموضوع وبدأنا على الفور
‫، بدأنا على الفور.
‫ولكن هنا نقوم فقط بإنشاء الخيط ويمكننا عمل أشياء به لاحقًا.
‫لذا هنا سأقول فقط النوم الخيطي.
‫لذا ، ما عليك سوى النوم لنفترض أن 1000 مللي ثانية وبعد ذلك حاول ضبط مصدر إكمال
‫المهمة على صحيح حتى نتيجة مجموعة ثلاثية.
‫ما سيفعله ذلك هو محاولة نقل المهمة الأساسية إلى حالة المهمة التي تم تشغيلها إلى
‫حالة الإكمال ، مما يعني أنها تمت بشكل صحيح ، لذا ستحاول تعيينها على الحقيقة.
‫هذا يعني أنه سيتم تعيين مصدر إكمال المهمة على صحيح.
‫وعندها فقط سنحصل على حكم الفيديو المساعد هذا ، والذي هو نتيجة لتلك المهمة.
‫لذلك دعونا نصنع القليل.
‫ادخل هنا.
‫لذا الخطوة التصحيح ودعنا نتحقق من معرفات سلسلة الرسائل.
‫والآن من أجل بدء الخيط ، نحتاج بالفعل إلى استدعاء بداية الموضوع.
‫وكما يمكنك أن ترى كائن الخيط هذا هنا وهو عبارة عن خيط يقوم بكل ذلك سيبدأ.
‫لذلك سأبدأ الخيط مثل هذا وأثناء وجودنا فيه ، دعونا نلقي نظرة على ما يجب أن يقدمه
‫الخيط.
‫لذلك كلما قمت بإنشاء كائن مؤشر ترابط ، فهناك العديد من الخصائص والطرق التي يجب استخدامها.
‫أو يمكننا استخدام عدة منها هنا.
‫حتى تتمكن من رؤية لوحة واحدة حيث يمكنك إحباط الخيط حتى تتمكن من إيقاف الخيط ، ولكن هذا سيؤدي إلى
‫استثناء أو سيؤدي إلى استثناء.
‫لذلك هذا أمر خطير جدًا في الواقع.
‫حتى تتمكن من تحطيم التطبيق الخاص بك مع ذلك بناءً على كيفية قيام الأمان ببنائه.
‫لكن اللوحة هي شيء يمكنك بالطبع استخدامه لإيقاف الخيط ، لكنك لا تعرف أبدًا إلى أي مدى
‫يتم تنفيذه.
‫لذلك يمكن أن يحدث أنه لم يتم الانتهاء من المهام التي تريد القيام بها وسيؤدي ذلك ، حسنًا ، إلى
‫أن برنامجك لا يعمل بشكل صحيح.
‫ثم بالطبع ، هناك الكثير من الطرق الأخرى المثيرة للاهتمام مثل أو أن خصائص مثل هذه لا تزال حية
‫، مما يعني أن هذا الخيط على قيد الحياة حاليًا ثم الخلفية ، مما يعني أنه يمكننا القول
‫أنه يجب تشغيل سلسلة الرسائل في الخلفية ويمكننا تحقق مع هذه الخاصية.
‫سواء كان ذلك في الخلفية أم لا ، فهو يمثل تهديدًا للخيط.
‫هذا شيء سوف نتحقق منه لاحقًا.
‫إذن ما هو تجمع الخيوط؟
‫هذا ما سنراه لاحقًا وما إلى ذلك.
‫لذا فإن معرف مؤشر الترابط المدار هو شيء مثير للاهتمام للغاية ، والذي سيخبرنا عن معرف سلسلة الرسائل التي
‫نقوم بتشغيلها حاليًا.
‫فلنستخدم ذلك ، لنطبع ذلك على وحدة التحكم.
‫لذا انظر W وأنا ذاهب لاستخدام رقم الموضوع على هذا النحو.
‫لذلك تستخدم علامة الدولار ومن ثم يكون لديك رقم الموضوع أو معرف الموضوع وبالتالي يمكنك تسميته.
‫ثم في الأقواس المتعرجة ، يمكنك استخدام المعرف المدار لمؤشر الترابط ، لذلك.
‫معرّف سلسلة المحادثات المُدارة.
‫وبالطبع تحتاج إلى إغلاق السلسلة.
‫حسنًا ، لنختبرها الآن.
‫لنقم بتشغيل الكود.
‫ونحن لدينا موضوعنا الرئيسي.
‫وحتى الآن لدينا شيء على وحدة التحكم.
‫كما ترى ، رقم الموضوع هو ثلاثة.
‫لذا فإن رقم سلسلة المحادثات التي لدينا هنا والتي أنشأناها بأنفسنا هي في الواقع ثلاثة ومعرف مؤشر
‫الترابط الرئيسي الذي يتم إدارته هو واحد.
‫لذا كما ترى ، لا يجب أن تكون الأرقام في الواقع بالطريقة التي تتوقعها.
‫لذلك على الرغم من أننا لم ننشئ سلسلة محادثات إضافية خاصة بنا هنا ، إلا أنها تنتقل من 1 إلى 3.
‫لذلك يجب أن تكون هناك خيوط أخرى قيد التشغيل لا نراها هنا.
‫حسنا.
‫وبالمناسبة ، إذا كنت تريد معرفة ما إذا كان الموضوع قد بدأ وإنهائه ، فيمكنك القيام بما يلي.
‫لذا.
‫لذلك دعونا نقطع ذلك هنا ونضعه في هذا الخط هنا.
‫وفي الواقع ، لنفترض البدء وهنا.
‫لا يمكننا استخدام الخيط لأن الخيط هو هذا الموضوع الذي ننشئه هنا.
‫ولكن إذا أردنا استخدامه هنا داخل جسم مؤشر الترابط نفسه ، فنحن بحاجة إلى استخدام مؤشر الترابط
‫الحالي.
‫لذا إذا فعلنا ذلك الآن ، سيكون لدينا الخيط الذي نحن فيه حاليًا ، وهو بالضبط ذلك.
‫وهنا نقول إنها بدأت وبعد أن يتم ذلك نقول إنها انتهت.
‫والآن دعنا نديرها.
‫يتم تشغيل الكود.
‫وكما ترى ، لا شيء معروض على وحدة التحكم.
‫دعنا ننتقل إلى الخطوة التالية.
‫ثم بدأت وانتهت.
‫لذلك حدث ذلك بسرعة كبيرة.
‫ولكن كما ترون ، هناك.
‫لذلك دعونا نعطيها المزيد من الوقت.
‫دعنا نغيرها إلى 5 ثوان.
‫ودعنا نتخلص أيضًا من نقطة التصحيح هذه ولننفذها.
‫لذا بدأ الخيط رقم ثلاثة ثم استغرق بعض الوقت وانتهى.
‫الآن ترى أن هذا السطر من التعليمات البرمجية يتم تنفيذه بشكل صحيح بالفعل ويوقف وحدة التحكم الخاصة بنا.
‫لذلك دعنا نحصل على سطر قراءة وحدة التحكم لإبقاء وحدة التحكم مفتوحة.
‫لذلك بدأ الخيط رقم ثلاثة ثم بعد 5 ثوانٍ يجب أن ينتهي حتى نكون قد انتهى رقم الخيط الثالث.
‫لنفترض الآن أننا نريد أن نرى تنفيذ المهمة بالفعل.
‫لذلك إذا نجحت في ضبطها على صواب أم لا.
‫حسنًا ، نحن نعلم لأنه بخلاف ذلك لن ننتقل إلى الخطوة التالية.
‫لكن دعنا نستخدم وحدة التحكم في السطر الأيمن هنا.
‫تم إنجاز المهمة وهنا سأكتب النتيجة التي سيتم اختبارها.
‫لذا فإن الاختبار هو مجرد وعاء ، كما ترون هنا ، إما لأنه نجح أو لم ينجح.
‫لذلك نبيع هذا إما صحيح أو خطأ.
‫لذلك دعونا نتحقق من ذلك.
‫والآن نحن بحاجة إلى الانتظار لمدة 5 ثوان.
‫بدأ الرقم ثلاثة بـ 5 ثوانٍ ثم انتهى الرقم الثالث ويقول إن المهمة التي تم إنجازها تساوي صواب.
‫هذا ما يحدث هنا بهذا الخط.
‫لذلك يقول ببساطة أنه تم القيام بهذه المهمة المحددة.
‫حسنا.
‫لذلك في هذا الفيديو ، رأيت كيف يمكنك استخدام مصدر إكمال المهمة ، والذي يشير إلى ما إذا كانت المهمة
‫قد تمت أم لا.
‫يمكنك ضبطه على صحيح أو يمكنه ببساطة القيام بشيء ما والقيام به.
‫بعد فترة ، رأيت أيضًا أنه يمكنك إنشاء مؤشر ترابط بطريقة مختلفة ، بحيث يمكنك
‫بالفعل إنشاء متغير مؤشر ترابط ، والذي عليك بعد ذلك أن تبدأ بالطبع ، ويمكنك ببساطة استخدامه ككائن
‫في سلسلة رسائل الفصل.
‫ثم رأينا كيف يمكننا استخدام معرف سلسلة الإدارة حتى نعرف معرف سلسلة المحادثات المحددة.
‫وهذا شيء سننظر فيه أكثر قليلاً في الفيديو التالي حيث نقوم بإنشاء خيوط
‫متعددة في نفس الوقت ثم سنرى كيف سيتم التعامل معها بواسطة أجهزتنا.
‫لذلك نراكم في الفيديو التالي.