この疑似コードを複数のスレッドで同時に実行すると、デッドロックが発生します。
Resource res1 = pool.get();
...
Resource res2 = pool.get();
...
pool.release(res2);
pool.release(res1);
それは予想される動作ですか?(そうだと思います)
プールのサイズがスレッド数の 2 倍の場合、デッドロックは発生しないようです。この記述は正しいですか?
コンピュータ サイエンスにおけるこの種のデッドロックに「科学的」な名前はありますか? いくつかのリンクをいただければ幸いです。
ありがとう