我正在运行一个线程池,其中在线程中被调用的函数需要mongocxx::pool池变量,以便它可以调用pool.acquire()来获取客户端。我似乎无法传递pool变量。如何传递pool变量。或者我可以如何在整个应用程序中使池成为全局池?
我正在关注这个示例https://github.com/mongodb/mongo-cxx-driver/blob/master/examples/mongocxx/pool.cpp
最佳答案
mongocxx::pool
类不可复制,因此您无法传递它(尽管您可以对其进行std::move
编码,尽管这可能对您的情况没有用)。如果要共享实例,则需要将其保留在堆上,并为代码的不同部分提供一种方法,也许可以通过shared_ptr
来访问该共享资源。请查看源代码中的instance_management示例,了解如何通过单例管理pool
的一个示例。
关于c++ - Mongodb C++驱动程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49502609/