سؤال

هل هناك طريقة للقيام بإجراءات غير محظورة على واجهة Java الخاصة بـ Berkeley DB والحصول على حالة الإجراء ونتيجةه باستخدام مستقبل أو شيء مشابه (مثل الحصول على نتيجة قابلة للاستدعاء باستخدام مستقبل)؟

لا أريد أن يتم حظر مؤشر الترابط الذي يتصل بقاعدة البيانات حتى يتم تنفيذ إجراء قاعدة البيانات.

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

المحلول

من ما رأيته في وثائق API، ليس لدى Berkeley DB JE API غير متزامن.سيؤدي كل مكالمة إلى DB إلى حظر مؤشر ترابط الاتصال حتى يتم الإجراء.

نصائح أخرى

نعم، يمكنك القيام بذلك، كما هو الحال مع أي قاعدة بيانات أو مورد، وذلك ببساطة عن طريق إنشاء سلسلة رسائل وبدء تشغيلها.

Runnable r = new Runnable() {
    public void run() {
        // call the DB
        // call your callback to run other tasks after with the result
    }
};
new Thread(r).start();

هذه هي الطريقة القياسية في Java للقيام بالإجراءات غير المتزامنة. أنتأنت المسؤول عن المواضيع، على عكس جافا سكريبت الذي يبدو أنك تشير إليه.

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