0
0
mirror of https://github.com/rbock/sqlpp11.git synced 2024-11-16 04:47:18 +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

20 lines
988 B
Markdown

# 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](Connection-Pools.md)
as a way to make SQL queries simultaneously in multiple threads.