2017-11-07 16 views
0

複数のスレッドがアイテムを消費するキューデータ構造があり、各スレッドはPyMySQLを使用してデータベースに書き込む予定で、スレッド間で他の同期は必要ありません。pymysql接続は安全ですか? pymysqlカーソルはスレッドセーフですか?

すべてのスレッドで同じpymysql接続から同じカーソルを使用することはできますか?

同じ接続からスレッドごとに異なるカーソルを使用することはできますか?

(その場合は、何の共有リソースを持っていないので、複数のスレッドで複数の接続を使用するには、もちろんのは、OKですが、私はこの場合には関心を持っていない)エルRusoへ

+0

https://github.com/PyMySQL/PyMySQL/issues/267 –

答えて

0

おかげで、ポイントの一つの方向

私はDBAPI2が実装に応じてこの質問に答える方法を示す仕様を持っていることを理解した後、pymysqlソースで答えを見つけました。 PyMySQLの場合、接続やカーソルのスレッドセーフではないことを意味します。 スレッドモジュールを共有することはなく、接続:

https://github.com/PyMySQL/PyMySQL/blob/master/pymysql/init.py#L40ライン

PyMySQL 1 =スレッドセーフな手段です。

(PEP-0249仕様http://legacy.python.org/dev/peps/pep-0249/#threadsafetyを読む)

関連する問題