منذ الإصدارة 1.4 اعتمدت الجافا
أن الدوال stop suspend resume destroy
دوال غير آمنة الاستخدام
وذلك لأن إيقاف الخيط في أثناء عمله
قد يتسبب في مشاكل للمتغيرات التي يتعامل معها
ولهذا ينصح بعدم استخدام الدوال السابقة
كيف أقوم بإيقاف الخيط الخاص بي إذن؟؟
مادامت الدالة run تعمل فالخيط يعمل
لذلك لدينا حل وحيد هو أن نجعل الدالة run تنهي نفسها بنفسها
مثال بسيط على الموضوع
public class MyThread extends Thread { private boolean threadDone = false; public void stop() { threadDone = true; } public void run() { while (!threadDone) { // work here // modify threadDone if you want } } }
في المثال السابق نلاحظ أن الدالة run
ستنهي عملها عندما يكون المتغير threadDone يساوي true
بما أني قد أنهيت درسي في مدة قصيرة
أحب أن أسأل هل كلمة خيط تمثل تعريباً جيداً لكلمة Thread
هل لديك اقتراح أفضل؟
لا تكن سلبياً وشاركني رأيك
المصدر:
مقالة بعنوان A Safe Way to Stop a Java Thread
http://www.devx.com/tips/Tip/31728
تحياتي
شهيد الأقصى
Tags: java, Thread, أمان, أوقف خيط, جافاوية, خيط, خيوط, لمحة, لمحة جافاوية
لكن أحياناً يكون الخيط معقداً و طويلاً يحتاج إلى فترة كي يتم عمله و يقف …
و إذا كان مثلاً سيوقف هذا الخيط عن طريق الضغط على زر فإن المستخدم سينتظر طويلاً حتى يتم الإيقاف …
هناك ما يسمى بمجمع الخيوط ThreadPool
هذا يحتوي على مجموعة من الخيوط
تستطيع أن تستخدمها على حسب حاجتك
وعند الإنتهاء منها ترجعها إلى المجمع
وهذه مفيدة لتوفير الوقت اللزم لإنشاء خيوط جديدة
تحياتي