سؤال

سؤال سريع ...باستخدام J2ME (CLDC 1.1, MIDP-2.1) هل من الممكن أن النوم Midlet لفترة من الوقت (عدم استخدام المواضيع)...على سبيل المثال:

public class myMidlet extends MIDlet{
    public void startApp() {
        /* Sleep for 10 seconds */

        /* The answer was: */
        try {
            Thread.sleep(time_ms);
        } catch (Exception e) {}
    }
...

أنا لا استخدام جافا كثيرا, و لا أريد أن البرنامج المواضيع فقط لفترة بسيطة النوم.

شكرا مقدما

الإجابة الموجزة

لي عدم وجود جافا المعرفة.أمثلة رأيت باستخدام الخيط.النوم() قادني إلى الاعتقاد أنه يمكن استخدامها فقط في موضوع كائن ولدت قبل Midlet ...لا midlet نفسها.لم أكن أريد أن يكون التخزين المؤقت من midlet المنطق في الموضوع إلى النوم ...ولكن الآن أنا أعرف midlet يعمل في الافتراضي الموضوع :) سوف تجد أن كتاب جافا أنا لم أقرأ لأنني لم أكن أعتقد أن استخدام اللغة من أي وقت مضى

هل كانت مفيدة؟

المحلول

لم أفهم ما إذا كانت تقصد وضع midlet في حالة إيقاف مؤقت أو وقف التنفيذ لمدة زمنية محددة.

إذا كان هذا الأخير, في الواقع أنا لا undesrtand لماذا لا تريد استخدام خيوط هذه ليست صفقة كبيرة.يمكنك فقط إدراج ثلاثة الأسطر التالية أينما كنت في حاجة:

try {
    Thread.sleep(10000);
} catch (Exception ex) {}

هذا كل شيء, لا شيء أكثر تعقيدا.

نصائح أخرى

أنا لا أعرف الاجابة ولكن أنا أيضا لا أفهم ما هي المشكلة مع استدعاء أسلوب ثابت الخيط.النوم(ميلي ثانية) أن "أسباب تنفذ حاليا موضوع النوم (مؤقتا وقف التنفيذ) لعدد محدد من ميلي ثانية" .تسمون هذه البرمجة المواضيع ؟

وأود أن تذهب مالكوم النهج منذ الخيط الخاص بك ربما قد رمي استثناء.

[...]و لا أريد أن البرنامج المواضيع فقط[...]

اه, سيكون لديك صعوبة في البرمجة J2ME و تحاول تجنب الخيوط البرمجة.إذا كان التطبيق الخاص بك يصبح قليلا أكثر تعقيدا ، خصوصا عند استخدام اتصالات شبكة الاتصال سوف تضطر إلى استخدام مؤشرات الترابط.وعلاوة على ذلك إذا كان بعض تستغرق العملية أكثر من 2-3 ثوان فإنه من المستحسن جدا لتشغيله في موضوع مستقل ، ربما (متزامنة) إعلام المستخدم عن العمل الجاري.

راجع للشغل, ما نسيت.لقد كتبت مؤخرا على J2ME طلب الجامعة.هناك لقد شيدت ما يسمى "ExecutableTask" الذي سمح لي أن التعامل مع المواضيع في وسيلة مريحة وسهلة.إذا كنت تريد أن يكون لها انظر المصدر...للأسف لا يمكنك تصفح الانترنت في جوجل مستودع بسبب بعض الأخطاء من جوجل استضافة الحل (بعض إسم المشروع قضيتي هذا).

يمكنك محاولة استخدام Object.wait(), Object.wait(long timeoutValue).على الرغم من أنني لا أنصح لك لمحاولة تأخير الرئيسية startApp() / نظام الموضوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top