0

複数のスレッドが同じ接続を使用しようとするときに DBCP が機能することを理解してください。

スレッドごとに新しい接続が生成されますか? この場合、接続プールを使用する利点はありません。

4

1 に答える 1

1

JDBCConnectionは、定義上、シングルスレッドです。DataSource1 つのスレッドが(DBCP またはその他の実装)から接続を取得すると、他のスレッドは、その接続が解放される (閉じられ、実際に接続がプールに戻される) まで、その接続にアクセスできません。

DBCP は、複数のスレッドから同じ接続を使用することを妨げません。ただし、複数のスレッドDataSourceが同時に新しい接続を要求すると、必要な数の接続が作成されます。同時スレッドの数が、生成できる最大構成接続数を超えるgetConnection()と、ブロックまたは失敗します。

于 2013-01-08T21:44:53.837 に答える