SQLAlchemy не порождает потоки и будет делать все в потоке, к которому вызывается определенная операция.
Единственное место, где вы можете столкнуться с причудами, ориентированными на синхронизацию, даже без порождения каких-либо потоков, встречается довольно редко.в случае, если определенные объекты являются мусором, собранным потоком очистки GC Python.Например, если вы работали с объектом Connection
, не закрыли его, а затем позволили ему выпасть из области видимости, если он оказался мусором, собранным потоком gc, вы можете увидеть метод DBAPI connection.rollback()
, вызываемый вGC, поскольку SQLAlchemy очищает соединения, когда сборщик мусора собирает их.Решение этой проблемы, если с DBAPI возникают проблемы, состоит в том, чтобы заранее закрыть ресурсы, такие как Connection
и Session
объекты.