来自 C++ 的线程安全 SQL Server

thread safe sql server from c++

本文关键字:SQL Server 安全 线程 C++ 来自      更新时间:2023-10-16

我在使用 OpenMP 并行化的 c++ 中有一个 for 循环。在循环中,我正在访问一个 sql 服务器数据库。有人告诉我,如果我在线程之间共享相同的 ODBC 驱动程序,则数据访问将不会是并行的。如果我为每次迭代定义不同的驱动程序,那将非常耗时。(?)有没有办法让不同的线程以安全的并行方式访问相同的数据?

PS:我不是在写数据库,只是从中读取。

有人告诉我,如果我在线程之间共享相同的 ODBC 驱动程序,则数据访问将不会是并行的。

确定你已经告诉了这个吗?

多线程存在很多问题,但对于大多数 ODBC 驱动程序,可以使用每线程连接模型并行执行读取。因此,每次启动线程时连接(并在线程关闭时关闭(。更好的模式是使用连接池。