الدعم لمكتبة القابلة للمقاطعة

مكتبة القابلة للمقاطعة

في Aspose.Slides 18.4، قدمنا الفئات InterruptionToken وInterruptionTokenSource. تمكنك من مقاطعة المهام طويلة التنفيذ مثل فك التسلسل، التسلسل، والعرض.

المقتطف التالي من الشيفرة يوضح مقاطعة مهمة قيد التشغيل:

final InterruptionTokenSource tokenSource = new InterruptionTokenSource();

Runnable interruption = new Runnable() {
    public void run() {
        LoadOptions loadOptions = new LoadOptions();
        loadOptions.setInterruptionToken(tokenSource.getToken());

        Presentation presentation = new Presentation("sample.pptx", loadOptions);
        try{
            presentation.save("sample.ppt", SaveFormat.Ppt);
        }
        finally {
            presentation.dispose();
        }
    }
};

Thread thread = new Thread(interruption);
thread.start();          // تشغيل الإجراء في خيط منفصل
Thread.sleep(10000);     // مهلة
tokenSource.interrupt(); // إيقاف التحويل

الأسئلة الشائعة

ما الغرض من مكتبة المقاطعة في Aspose.Slides؟

توفر آلية لمقاطعة العمليات طويلة التنفيذ—مثل تحميل، حفظ، أو عرض العروض—قبل إكمالها. هذا مفيد عندما يجب تحديد وقت المعالجة أو لم تعد المهمة ضرورية.

ما الفرق بين InterruptionToken وInterruptionTokenSource?

  • InterruptionToken يُمرَّر إلى واجهة برمجة تطبيقات Aspose.Slides ويتم التحقق منه أثناء العمليات طويلة التنفيذ.
  • InterruptionTokenSource يُستخدم في شفرتك لإنشاء الرموز وتفعيل المقاطعات عبر استدعاء Interrupt().

ما هي المهام التي يمكن مقاطعتها؟

أي مهمة في Aspose.Slides تقبل InterruptionToken—مثل تحميل عرض تقديمي باستخدام Presentation(path, loadOptions) أو حفظه عبر Presentation.save(...)—يمكن مقاطعتها.

هل تحدث المقاطعة فوراً؟

لا. المقاطعة تعاونية: العملية تتحقق دوريًا من الرمز وتتوقف بمجرد اكتشاف أنها تم استدعاء Interrupt() .

ماذا يحدث إذا استدعيت Interrupt() بعد انتهاء المهمة بالفعل؟

لا شيء—الاستدعاء ليس له تأثير إذا كانت المهمة المقابلة قد اكتملت بالفعل.

هل يمكنني إعادة استخدام نفس InterruptionTokenSource لعدة مهام؟

نعم—لكن بعد استدعاء Interrupt() على ذلك المصدر، ستُقَطَع جميع المهام التي تستخدم رموزه. استخدم مصادر رموز منفصلة لإدارة المهام بشكل مستقل.