09/09/13 17:20:42
IntelのTBBってどうですか
使える? これから主流になる?
899:デフォルトの名無しさん
09/09/13 17:28:52
一部はC++0xに取り込まれるので、やっておいて損はないと思う。
900:デフォルトの名無しさん
09/09/13 17:35:48
>>898
TBB使ったアルゴリズムが100%正しいのか
検証する手段がないから危険で使えないよ?
901:デフォルトの名無しさん
09/09/13 17:42:44
原子的に、って訳は正直どうかと思う
902:デフォルトの名無しさん
09/09/13 18:51:04
>>896
つURLリンク(www.nagi.org)
903:デフォルトの名無しさん
09/09/13 18:55:38
原子的に
quark的に
904:デフォルトの名無しさん
09/09/13 19:40:00
不可分的に
905:デフォルトの名無しさん
09/09/13 21:07:54
結局、ここの連中は自分じゃコードが書けない
知ったかばっかりなんだな
906:デフォルトの名無しさん
09/09/13 21:14:41
>>905
まず金を払え
話はそれからだ
907:デフォルトの名無しさん
09/09/13 21:31:47
>>906
馬鹿らしいが相手にしてやると
サンプルコードも書けない奴に先払いするやつなんていない。
slealing bitsってどういう意味だ?
せめてこれの意味くらいきっちり説明してみろ。
全然わかってねえじゃねえか、このスレの連中w
908:デフォルトの名無しさん
09/09/13 21:58:35
>>907
キミってその解ってないと卑下する連中と同列なんじゃないの?
ちなみに、煽れば回答でてくると思ってるでしょ?
909:デフォルトの名無しさん
09/09/13 22:15:16
>>907
キミってこんなのも書けないの?
template<typename T>
bool compareAndSet(T* const expPtr, T* const newPtr, const uint32_t expStamp, const uint32_t newStamp)
{
bool r = false;
if(v == expPtr && s == expStamp) {
TAS.lock();
if(v == expPtr && s == expStamp) {
v = newPtr;
s = newStamp;
r = true;
}
TAS.unlock();
}
return r;
}
TASぐらい実装できるよね?そこまでバカじゃないよね?
Javaの実装とVCかgccのcompareAndSwapのインラインアセンブラ
組み合わせれば実装ぐらいできるでしょ?それもできないってレベル低すぎるでしょ?
キミだめだわ
910:デフォルトの名無しさん
09/09/13 22:47:13
えーとだな、
そもそもの質問はArtOfMultiProcessor本の
Lock-Free Queueの実装なんで
おお威張りでlock()使われると
失笑するしかないんだがなw
君は本当の馬鹿なんだね
911:デフォルトの名無しさん
09/09/13 22:51:26
>>ちなみに、煽れば回答でてくると思ってるでしょ?
902に回答出てるじゃん。
できる人は出し惜しみしないで公開してるし回答もできるだろう。
ここに張りついてる連中は揚げ足とりばっかで
質問の本質も理解できない知ったかばっか
912:デフォルトの名無しさん
09/09/13 22:53:20
>>887で終わってんのに何で続いてんの?
>誰も64ビット版ではstealing bits、
>32ビット版ではindirectionの意味も語らず、
当たり前すぎて説明する必要があるとも思わんわ。
64ビットではポインタのビットから一部拝借してスタンプに使う。
32ビットではポインタとスタンプをまとめて直接ではなく、
ペアの領域を作成してそのポインタで間接的にCASを行う。
913:デフォルトの名無しさん
09/09/13 23:08:05
>>912
uint64_t expV = ((((uint64_t)expPtr) << 32) | ((uint64_t)expStamp));
uint64_t newV = ((((uint64_t)newPtr) << 32) | ((uint64_t)newStamp));
return (expV == CAS64(&ptr, expV, newV));
これでOK?
914:デフォルトの名無しさん
09/09/14 00:17:59
>> 887で終わってんのに何で続いてんの?
909みたいなのが質問者を馬鹿にしたんで荒れたんじゃないの。
lock使ってCASを実装するような奴が威張り散らしてるのみて爆笑させてもらったよ。
いずれにしても知ったかが多いのが明らかになったのはよかったんじゃない。
>>912
当り前すぎたとしても、質問者みたいな初心者もいるから最初から説明してあげれば。
915:デフォルトの名無しさん
09/09/14 00:39:43
どう見ても、キミが質問者で
煽って回答を引き出してるだけに見えるけど。
週末だしね。
916:デフォルトの名無しさん
09/09/14 00:56:51
>>913
uint64_t expV = ((((uint64_t)&expPtr) << 32) | ((uint64_t)expStamp));
uint64_t newV = ((((uint64_t)&newPtr) << 32) | ((uint64_t)newStamp));
917:デフォルトの名無しさん
09/09/14 01:00:27
>>894
>>908
>>909
>>915
煽ってる同一人物なんで
無視の方向で
918:デフォルトの名無しさん
09/09/14 04:16:34
火元の人
やり方が理解できない質問者
俺に分からないならこのスレにも理解できる奴いないんじゃね、とか思っていて、
それが態度にも滲み出ている
煽る人
分かってるつもりだけど分かってないで煽り続ける
こいつを見た火元は「やっぱり分かってる奴いないんじゃないか」と思いこむ
住人タイプA
一目で分かるがお前の態度が気に入らないしコード示すのマンドクセ
つーかこの説明で分かれボユゲ
住人タイプB
みんな何言ってんだかわかんね