ブースト ロックフリー フリーリストのサイズが最大 65535 オブジェクトに制限されているのはなぜですか?
64 ビット マシンの場合にキューのサイズを増やす方法。
typedef boost::lockfree::queue<int, boost::lockfree::fixed_size<true>> MyQueue;
MyQueue queue(1024*100); << how to increase the size to more than 65534?
ブーストの実装では、ABA の問題を回避するために、キュー アイテムに余分なタグ ビットが追加されます。現在、32 ビットの値 (ポインターに 16 ビット、タグに 16 ビット) を使用しています。
64 ビット値 (ポインターに 32 ビット、タグに 32 ビット) を使用するように変更するにはどうすればよいですか?
tagged_index::tag_t と index_t を unin32_t に基づいて ba に変更するだけで十分ですか?