线程安全的 PQconn 对象
Thread safe PQconn object
我想跨多个线程访问 PostgreSQL table。如何在多线程时保护 PQconn* 对象? libpq 库是否提供解决此问题的任何方法?
与 PostgreSQL 的单个连接不支持同时查询。当查询处于活动状态时,不可能将其 PGconn
结构重用于其他任何内容,但可以从另一个线程或信号处理程序调用的 PQcancel()
除外。
这来自客户端-服务器协议的设计,而不是 libpq 本身。
要在多线程内实现并发查询,每个线程必须有自己的连接和自己对应的非共享PGconn
结构。
我想跨多个线程访问 PostgreSQL table。如何在多线程时保护 PQconn* 对象? libpq 库是否提供解决此问题的任何方法?
与 PostgreSQL 的单个连接不支持同时查询。当查询处于活动状态时,不可能将其 PGconn
结构重用于其他任何内容,但可以从另一个线程或信号处理程序调用的 PQcancel()
除外。
这来自客户端-服务器协议的设计,而不是 libpq 本身。
要在多线程内实现并发查询,每个线程必须有自己的连接和自己对应的非共享PGconn
结构。