由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++的一个mutex问题
相关主题
[合集] C++问题(copy constructor)C++ vector
请教个Bloomberg 的 C++ 题目问一个 copy constructor 的问题 (C++)
请问static variable init的问题?C++的一个小疑问,求解惑
pthread_create inside a constructorC++ operator = overloading用copy & swap有啥优点
一道 memset in C++的题Is the order of initialization a, b, c or c, b, a?
C++问题,confusing...请教几个C++问题
[合集] 关于C++ default copy constructorc++ question
copy constructor问题。what is the difference?
相关话题的讨论汇总
话题: od话题: order话题: oo话题: copy话题: lock
进入Programming版参与讨论
1 (共1页)
s****n
发帖数: 700
1
我有一结构体 ORDER od, 是很多thread可以对它进行读写
每次对它读写的时候,我都是这样的
lock()
ORDER &oo = od;
unlock()
我现在问题是, 以后我用oo的时候, 别的thread改动了od, 我的oo值会不会相应变化。
如果是, 我是不是必须这样来做
lock()
ORDER oo;
Copy(oo, od);
unlock()
谢谢解答
j*******d
发帖数: 8834
2
你这lock不lock有啥意义哈?
od一动,你的reference还能不变吗?
copy是可以,你不嫌贵吗?
你要access od来干嘛?
s****n
发帖数: 700
3
取出od是为了作为一个函数的参数, 这个函数我并不想lock. 因为我不知道这样是不
是也消耗很多时间。
这种情况您有什么好的办法么?

【在 j*******d 的大作中提到】
: 你这lock不lock有啥意义哈?
: od一动,你的reference还能不变吗?
: copy是可以,你不嫌贵吗?
: 你要access od来干嘛?

s**********o
发帖数: 197
4
如果怕耗时间的话,可以在函数里relaease一下,给其他线程一个机会。

【在 s****n 的大作中提到】
: 取出od是为了作为一个函数的参数, 这个函数我并不想lock. 因为我不知道这样是不
: 是也消耗很多时间。
: 这种情况您有什么好的办法么?

j*******d
发帖数: 8834
5
那你要看这个func干些啥了,如果只是一些pure userland的processing,而且不heavy,lock有啥不可?
我不知道copy od有多expensive, 而且ORDER这个class能被copy吗?有自己的copy
constructor吗?或者,如果那个func会call 一些ORDER的non-const methods,那od本身就会被改变,你还得copy回去吧?如果要copy 回去岂不是明白的race condition

【在 s****n 的大作中提到】
: 取出od是为了作为一个函数的参数, 这个函数我并不想lock. 因为我不知道这样是不
: 是也消耗很多时间。
: 这种情况您有什么好的办法么?

1 (共1页)
进入Programming版参与讨论
相关主题
what is the difference?一道 memset in C++的题
copy constructor 问题C++问题,confusing...
[合集] 被问到了这两个问题 (转载)[合集] 关于C++ default copy constructor
子类的copy constructor怎么写copy constructor问题。
[合集] C++问题(copy constructor)C++ vector
请教个Bloomberg 的 C++ 题目问一个 copy constructor 的问题 (C++)
请问static variable init的问题?C++的一个小疑问,求解惑
pthread_create inside a constructorC++ operator = overloading用copy & swap有啥优点
相关话题的讨论汇总
话题: od话题: order话题: oo话题: copy话题: lock