atomic

    0热度

    2回答

    我读过几个职位对原子和写入演示验证线程安全的,这样 @property(atomic,assign) NSInteger sum; //然后做这个 for (NSInteger i = 0; i<1000; i++) { dispatch_queue_t queue = dispatch_queue_create("", DISPATCH_QUEUE_CONCURRENT);

    4热度

    2回答

    一个是模板类std::atomic的成员函数,一个是模板函数,看起来他们做的是同样的事情。由于std是一个类库,为什么它提供了类和非类的版本,我想同样的操作? 他们之间有任何真正的区别吗?

    0热度

    2回答

    假设someAtomic是一个具有整体基础类型的std :: atomic,如atomic_uint16_t。我不想担任哪种整数类型,然而,在特定的代码,所以我想要的东西来完成;下面,现在不能编译: if (newVal > numeric_limits<decltype(someAtomic)>::max()) throw "newVal too large"; else someAtomic

    2热度

    1回答

    我有下面的代码: #include<atomic> #include<iostream> using namespace std; struct Big{ int i; int j; int k[100]; }; int main(){ atomic<int> i; cout<<i.load()<<endl; i.store(

    1热度

    1回答

    我目前正试图改善自定义“伪”栈,这样使用(完整代码在这篇文章的末尾提供)的性能:定期 void test() { theStack.stackFrames[1] = StackFrame{ "someFunction", 30 }; // A theStack.stackTop.store(1, std::memory_order_seq_cst); // B

    0热度

    2回答

    我有两个表,一个TaskLists表与一个自动生成的主键和一个Tasks表。 A TaskList可以有多个Tasks。 我现在将如何插入一行TaskLists并同时原子地将多行插入引用刚刚插入的对象的Tasks表中。

    0热度

    1回答

    我一直在四处寻找一种方法来保护一个整数原子增加但与绑定检查。 我环顾四周寻找其他职位,但没有一个似乎有一个很好的解决方案(有些是预C++ 11)。 我需要的是像下面这样的库: class bounded_atomic_uint { private: uint32_t ctr; uint32_t max; mutex mtx; public:

    2热度

    1回答

    假设我有类型INT32两个原子变量,我可以代替选择代表他们作为std::atomic<int64> both并保留前32位为我的第一个和最后对我的第二个INT。 这似乎是在x64架构相当空间&节省时间,更何况它能够支持各种各样的妖术,因为人们可以通过各种操作的抽象,让他们原子: first == a && second ==b 变得 both == (int64(a) + int64(b) <

    0热度

    1回答

    我编写了一个python脚本,负责创建一个原子文件,如other question中所述。即得到由脚本创建的文件是有点大(约1.5MB〜),如下图所示: $ ./my_script.py --output_file some_directory/my_file.txt $ ls -l --block-size=K some_directory/my_file.txt -rw------- 1

    0热度

    1回答

    我没有太多的信号量经验,也没有太多的经验。我已经看到了关于如何将异步调用转换为同步调用的各种建议。在这种情况下,我只想等待确保iPhone的镜头在拍摄另一张照片之前已经改变了焦点。 我已经添加了一个完成块(用一个小程序来证明我看到它)。但是,如何阻止我的代码(在主线程上运行)的其余部分,直到我获得完成回调? - (void) changeFocusSettings { if ([Set