首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何完全关闭Rocksdb?

如何完全关闭Rocksdb?
EN

Stack Overflow用户
提问于 2018-09-23 04:08:00
回答 1查看 1K关注 0票数 1

我在一个应用程序中使用了Rocksdb,在关闭所有db实例之后,我仍然看到这个线程正在运行rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) ()

因此,当我关闭应用程序时,我收到一个libc++abi.dylib: terminating错误,我认为这是由于上面的原因。我如何避免这种情况,并确保这些线程被关闭?谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-09-23 11:45:45

在rocksdb中有一堆后台进程在运行,如压缩、内存刷新,它们由单独的线程处理。要安全关闭ROCKSDB,您必须取消所有正在运行的后台作业。

代码语言:javascript
复制
CancelAllBackgroundWork(bool);

在关闭数据库之前,请调用此函数。将bool作为参数传递,无论您是要立即终止还是等待后台作业完成后再终止。

现在调用rocksdb_close()将完全关闭数据库

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52460463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档