私はstd::stringをboost::lockfree::queueに入れようとしているので、スレッドは新しいデータで互いに更新できます。 私はboost::lockfree::queue<std::string> updated_data;を使用しようとすると、g++は言う: In instantiation of 'class boost::lockfree::queue >': erro
これはA. Williams C++ Concurrency in Actionの本です。ハザードポインタのあるロックフリーのスタックです。私はそれを理解すると仮定し、わずか2行を除いて、ここで彼らは(ここではsource)は次のとおりです。 // code before
if (old_head) {
res.swap(old_head->data);
// code after
質問
Javaで並行ビットセットを作成しようとしていますが、これはサイズの拡張を可能にします(固定長ではなく、非常に簡単です)。クラスの中核部分です(他のメソッドは現在重要ではありません) public class ConcurrentBitSet {
static final int CELL = 32;
static final int MASK = CELL - 1;
final Atom