[過去ログ]
マルチスレッドプログラミング相談室 (986レス)
マルチスレッドプログラミング相談室 http://toro.5ch.net/test/read.cgi/tech/997345868/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
902: デフォルトの名無しさん [sage] 02/11/15 23:39 参照を獲得する処理そのものがアトミックでなければいけない。 つまり、ref や release に到達する時点でそのオブジェクトに対する排他制御が かかってなきゃいけない。それらのメソッドに入ってからでは遅い。 Object* List::get(int index){ criticalSections_[index % 4].enter(); Object* o = items_[index]; if(o != NULL){ o->ref(); } criticalSections_[index % 4].leave(); return o; } void List::remove(index){ criticalSections_[index % 4].enter(); Object* o = items_[index]; if(o != NULL){ o->release(); items_[index] = NULL; } criticalSections_[index % 4].leave(); return o; } こんな感じか? http://toro.5ch.net/test/read.cgi/tech/997345868/902
908: デフォルトの名無しさん [sage] 02/11/16 01:24 >>902 getって削除された要素を飛ばして次の要素を返すんじゃないか? あと、removeが値を返してるよ。 >>905 その参照を増やす手段がgetなんだけど… http://toro.5ch.net/test/read.cgi/tech/997345868/908
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.034s