0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-12-25 07:20:50 +08:00
sqlpp11/docs/Threads.md
MeanSquaredError 7f04435576
Connection pools documentation and example (#533)
* Add an example of using a connection pool.

* Add documentation about the connection pools. Expand the documentation about multi-threading issues.
2023-10-03 09:45:21 +02:00

988 B

Thread Safety

sqlpp11 aspires to have no influence on thread safety itself, but offers no particular guarantees (PRs welcome). This means that in the general case your program may have problems if it does one of the following

  • Creates a connection in one thread and then uses it in another thread..
  • Uses the same connection simultaneously in multiple threads.

The exact level of thread-safety depends on the underlying client library, for example with MySQL, PostgreSQL and SQLite3 it is generally safe to create a connection in one thread and then use it in another thread, but attempting to use the same connection simultaneously in multiple threads causes crashes, lock-ups and SQL errors.

The recommendation therefore is to not share connections between threads and to read about thread safety of the underlying database for more information. You may also look into Connection Pools as a way to make SQL queries simultaneously in multiple threads.