avatar
I*g
1
Imagine the following compare_and_swap (CAS) primitive function is available
to
you. Using this function, write an integer counter class providing increment,
decrement, set and get APIs in an atomic and thread-safe way in a context
subject to
periodic highly intensive concurrent activity .
/* In a critical section, if (*dest) == old_val, then updates dest to new_
val and returns true otherwise leaves dest unchanged and returns false.
*/
bool compare_and_swap(int* dest, int old_val, int new_val)
avatar
b*i
2
话说为了应景,家门口摆了些相关装饰。
今晚开车回家,一拐进来朦朦胧胧猛然瞥见门前草地上站着一人,还挺高大,当时我就
一激灵,然后看清了是我昨天插地上的一稻草人。。。
清晰感到心跳逐渐恢复常态。
此时看到小布在窗口露出脑袋,心里一下子舒畅了~~
对了,此种状态下,不可能有照片
avatar
I*g
3
要求用C++

available
increment,

【在 I*******g 的大作中提到】
: Imagine the following compare_and_swap (CAS) primitive function is available
: to
: you. Using this function, write an integer counter class providing increment,
: decrement, set and get APIs in an atomic and thread-safe way in a context
: subject to
: periodic highly intensive concurrent activity .
: /* In a critical section, if (*dest) == old_val, then updates dest to new_
: val and returns true otherwise leaves dest unchanged and returns false.
: */
: bool compare_and_swap(int* dest, int old_val, int new_val)

avatar
k*e
4
-。-
标题改为 鬼影 可能更吸引人!

【在 b********i 的大作中提到】
: 话说为了应景,家门口摆了些相关装饰。
: 今晚开车回家,一拐进来朦朦胧胧猛然瞥见门前草地上站着一人,还挺高大,当时我就
: 一激灵,然后看清了是我昨天插地上的一稻草人。。。
: 清晰感到心跳逐渐恢复常态。
: 此时看到小布在窗口露出脑袋,心里一下子舒畅了~~
: 对了,此种状态下,不可能有照片

avatar
z*g
5
class AtomicCounter {
private:
volatile int mem;
public:
AtomicCounter(): mem(0) {}
int get() { return mem; }
void inc() {
int new_val, old_val;
do {
old_val = mem;
new_val = old_val + 1;
} while(!compare_and_swap(&mem, old_val, new_val));
}
void dec() {
// same
}
};
avatar
b*i
6
我是对这个鬼节闹意见呢。一不留神自己把自己吓着了。。

【在 k*******e 的大作中提到】
: -。-
: 标题改为 鬼影 可能更吸引人!

avatar
m*f
7
小布从房里往窗外看了一眼, 也被稻草人吓了一跳~~
话说odie 经过邻居门前总是被挂着的一堆鬼怪吓到
avatar
b*i
8
如果小布第一次遇见,那种体积比较大的,他会紧张一次。
此后就好了。

【在 m*****f 的大作中提到】
: 小布从房里往窗外看了一眼, 也被稻草人吓了一跳~~
: 话说odie 经过邻居门前总是被挂着的一堆鬼怪吓到

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。