Berkeley DB可以在java中异步使用吗?

时间:2012-09-30 07:06:11

标签: java asynchronous berkeley-db berkeley-db-je

有没有办法在Berkeley DB的java接口上执行非阻塞操作,并使用Future或类似的东西获取操作的状态和结果(比如使用Future获取Callable的结果)?

在DB操作完成之前,我不希望阻塞调用DB的线程。

2 个答案:

答案 0 :(得分:1)

从我在API文档中看到的,Berkeley DB JE没有异步API。每次调用DB都会阻塞调用线程,直到操作完成。

答案 1 :(得分:0)

是的,你可以像任何数据库或资源一样,只需创建一个线程并启动它。

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中用于执行异步操作的标准方法。 负责线程,与你似乎提到的javascript相反。