- 1 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:19:27 ]
- マルチスレッドプログラミングについて語るスレ
■前スレ マルチスレッドプログラミング相談室 その7 pc12.2ch.net/test/read.cgi/tech/1215253576/ ■過去スレ その1 ttp://pc3.2ch.net/tech/kako/997/997345868.html その2 ttp://pc5.2ch.net/test/read.cgi/tech/1037636153/ その3 ttp://pc8.2ch.net/test/read.cgi/tech/1098268137/ その4 ttp://pc8.2ch.net/test/read.cgi/tech/1130984585/ その5 ttp://pc11.2ch.net/test/read.cgi/tech/1157814833/ その6 ttp://pc11.2ch.net/test/read.cgi/tech/1187008532/ OS・言語・環境は問わないが、それゆえ明記すべし。 テンプレ 【OS】 【言語】 【実行環境】 【その他特記する事項】
- 218 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 02:55:49 ]
- スピン待ちの話をされてスピンロックどうこうと返すのがおかしい
- 219 名前:デフォルトの名無しさん mailto:sage [2009/11/08(日) 10:06:21 ]
- 上の人じゃないけど、スピンロックはスピンウエイトを使ってやってるかとおもてたよ(´・ω・`)
- 220 名前: ◆0uxK91AxII mailto:sage [2009/11/08(日) 12:45:22 ]
- spinlockでlockできる保証は無いね。
偶然上手く動いているだけ。
- 221 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 01:48:53 ]
- ◆0uxK91AxIIで検索したら、NGしてもいいくらいトンチンカンな奴だな
- 222 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:27:27 ]
- トリップ付けるような奴だもの。
- 223 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 20:06:21 ]
- トンチンカンなんて久々に見た
おやつあげないわよ
- 224 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 09:14:41 ]
- 抜作先生の方がまだ新しいな。
- 225 名前:デフォルトの名無しさん mailto:sage [2009/12/15(火) 00:01:41 ]
- マルチスレッド対応の基数木のアルゴリズムって
どうやって記述すればいいのでしょうか? CかC++で探しています。
- 226 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 22:31:16 ]
- 読み込みと書き込みが1スレッドずつの場合でもメモリ破壊って起きるのでしょうか?
たとえば、ある変数をメインスレッドで読み込み続け、 複数のサブスレッドで、クリティカルセクションを用い、書き込むといった場合です
- 227 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 22:39:31 ]
- >>226
とりあえず破壊読み出しメモリだと死ぬよね。
- 228 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 23:29:29 ]
- >>226
まずメモリ破壊を定義してもらおうか
- 229 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 01:41:11 ]
- パソコンのネジ外して開けると見えてくるメモリの部分をハンマーで叩く
- 230 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 01:42:27 ]
- ハードウェア的な話題もするんか
- 231 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 02:21:03 ]
- 宇宙線による確率的なビット反転は防ぎようがない
- 232 名前:226 mailto:sage [2009/12/23(水) 10:10:00 ]
- データが飛ぶという意味でのメモリ破壊です
ハード的にどのように動作しているのか分からないのですが 同アドレスに同時にアクセスされることによってメモリ破壊が起きるのでしょうか?
- 233 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 10:20:05 ]
- 書き込みをクリティカルセクションで同期して、クリティカルセクションを抜けたところで可視性が保証されたとしても、
読む方が書き込み中にその変数を見る可能性があるなら、少なくとも意図しない値を読む可能性はあるんじゃない? (+不変な変数見てると思われるかもね) 要求次第だけど、 この手のポーリングするやつは、次に読めればいいからその瞬間のスナップショットで十分だと思うので、 Atomicな操作用のAPI使うとか、書き込みがAtomicであることが保証されるならvolatileだけでもいいかも。 その変数の読み書きだけ同期とっても、読んでる間の書き込みは防げても、 読み込みが終わってクリティカルセクション抜けたあと、それで処理しようと思ったら もう書き換わってることもあるし。 読んだ値の処理が終わるまで書き込ませないなら、話は別だけど。
- 234 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 11:15:37 ]
- 昔使ったタイマ LSI でラッチ→lo-read→hi-readって
いう約束ごとのあるやつがあったな。hi-readでラッチ が外れる奴。word-read 命令が使えるかどうかは CPU 次第。
- 235 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 12:47:17 ]
- >>226
ハードや操作による。 つーか、まずは「アトミックな操作」という概念をどっかで調べとけ。 例えば、x86のCPUなんかだと、どういう操作がアトミックかはIntelが規定している。 アトミックな書き込みなら、別のコアからの読み込みが割り込む可能性は無い。逆に アトミックでない書き込みなら、例えば半分くらい書き込んだところで別のコアが 読み込む可能性があるということ。 x86なら、厳密な規定はIntelの英語版サイトに落ちてる。32bitアラインドなreadや writeは確実にアトミックだ。相当古いx86以外はキャッシュアラインドなら大丈夫。 read-modify-writeはLOCKプリフィクスが無い限りアトミックではないが、xchg 命令はLOCK#が自動的にアサートされるのでアトミックだ。 まぁ、アセンブラを直接叩くんじゃなければ、イントリンシック命令を調べておけば 十分だが、その裏でどういうCPUの動きをしているかは理解しといた方がいい。 つーか、低水準の話と高水準の話で全然違いすぎるんだよな。俺はどっちの話でも 構わんけど、分けた方がいいのか?
- 236 名前:226 mailto:sage [2009/12/23(水) 12:53:08 ]
- ありがとうございます
もっと勉強します
- 237 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:31:19 ]
- >>232
そんな事は起きないようにハードウェアが作られてる 物理的なメモリへのアクセス経路は1個しかないから、同じアドレスに同時にアクセス なんて事は出来ない 命令が書いた順に実行されるかとか、他のコアやスレッド云々は >>235 の通り
- 238 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:31:47 ]
- クリティカルセクションを用いって書いてあるから、なんとなくWindowsかと思ってた。
- 239 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:32:15 ]
- >>235
ここはム板だから低水準の話はついていけないと思う
- 240 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 13:49:38 ]
- >>237
> 物理的なメモリへのアクセス経路は1個しかないから、同じアドレスに同時にアクセス > なんて事は出来ない いつの時代の人?
- 241 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:00:02 ]
- >>239
いやそれは無い
- 242 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:00:28 ]
- ん?今はどこが違うの?
- 243 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:04:04 ]
- >>235
x86は巨視的には古典的設計だからまだ理解しやすいけど、PPCなんかだとリオーダー とかが剥き出しになってくるからさらにごちゃごちゃするんだよな
- 244 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:06:45 ]
- そこでeioioですよ!
- 245 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:07:20 ]
- 間違えた、eieioだった
イーアイイーアイオー!
- 246 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 14:28:55 ]
- エイッエイッオッー
- 247 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 12:32:01 ]
- この辺の話題が体系的に書かれてる教科書が欲しい
- 248 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 14:41:39 ]
- 開拓が進行中のジャンルだから、書いたそばから陳腐化しそうでなかなか難しいかも
しれないな
- 249 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:09:39 ]
- 何をもって高性能とするかをはっきりさせたいな
シングルコア100%アイドル3コアでできることを4コア25%ずつで処理することに意味はあるの?
- 250 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:12:36 ]
- >>249
に追記 並列処理の有利はわかるけど、これからは直列処理も並列化しようとしてるんでしょ そんなの意味ないよねという話
- 251 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:50:00 ]
- 1コア100%3コア0%ってCPUがボトルネックになってんじゃねーの
- 252 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:50:26 ]
- 何を言ってるの?
- 253 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 21:19:08 ]
- >>249は軽くエスパーが日本語に翻訳しないと分かりづらい
4スレッドにしたら全部25%になっちゃうような処理までマルチスレッドにする 意味あんの、って言いたいんだろうし、だからCPU屋は2コアや4コアで現状維持 しながら別の進化の方向性を探ってるのも事実 だがそもそも、そういう微妙なケースにまで頑張って適用しようぜMTマンセー、 というようなスレではないので、そんな的外れなこと言われても一瞬何の話だか 分からんし、今更何をとしか言いようがない
- 254 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 21:28:43 ]
- >>253
日本語でおk
- 255 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 21:35:30 ]
- >>253
余ってるCPUに仕事振る余地のない処理なら それでいいんじゃね?
- 256 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 21:39:14 ]
- >>249の問題提起自体が微妙
アムダールの法則くらいで十分じゃねーの?
- 257 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 18:49:32 ]
- そもそも並列化できない処理まで並列化しようとしてるなんて話は聞いたこともない。
誰が言ったんだそんなこと。
- 258 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 21:49:55 ]
- >>249が言ってるな
- 259 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 03:00:47 ]
- 質問させてください。
【OS】 UNIX/LINUX 【言語】 C言語 【実行環境】 gcc 【その他特記する事項】 メインスレッドからn個のスレッドを作成->全ての終了を待つという場合、 int i; pthread_t id[n]; void* res[n]; for (i=0; i<n; i++) pthread_create(&id[i], NULL, funcptr, arg); for (i=0; i<n; i++) pthread_join(id[i], &res[i]); こんな感じで大丈夫でしょうか? それとWindowsにあるWaitFor〜みたいに複数待つというのは無いのでしょうか?
- 260 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 03:18:30 ]
- >>259
>WindowsにあるWaitFor〜みたいに複数待つ つ developers.sun.com/solaris/articles/event_completion.html
- 261 名前:デフォルトの名無しさん [2010/01/26(火) 00:12:16 ]
- スレッドを終了させないままアプリを閉じた場合
やっぱメモリリークとか起きるの?
- 262 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:20:29 ]
- 環境を想定しないとなんともいえない。
- 263 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:33:22 ]
- >>261
OS破壊されるぞ?いいのかそんなことしても
- 264 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:49:27 ]
- >>261
ja.wikipedia.org/wiki/メモリリーク
- 265 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 10:22:10 ]
- 破壊されるようなOSなんか使うなw
- 266 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 16:03:33 ]
- MTでそんな脆いOSはちょっと想像付かないなw
携帯の奴とかはどうなんだろう
- 267 名前:デフォルトの名無しさん [2010/01/26(火) 16:15:09 ]
- 問題(1) 名前を入れる入力ダイアログ1つとボタンを1つ表示し,ボタンを押したときは時間に応じて,
05時〜11時 「おはようございます,○○さん」 11時〜17時 「こんにちは,○○さん」 17時〜05時 「こんばんは,○○さん」 と表示するJavaScriptプログラムを作成しなさい。
- 268 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 16:20:40 ]
- 断る。
- 269 名前:デフォルトの名無しさん [2010/01/26(火) 16:24:21 ]
- キミの実力を見せてみろ
- 270 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 16:28:23 ]
- マルチスレッドと何の関係が
- 271 名前:デフォルトの名無しさん [2010/01/26(火) 16:32:31 ]
- スレ違いでした。
すいません・・
- 272 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:10:35 ]
- VCでマルチスレッドアプリをトレース実行してるとかなりの頻度でOSごと固まるんですが、
マルチスレッドの場合のデバッグはデバッガ使わないのが普通なんですか?
- 273 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:48:30 ]
- PCが貧弱
- 274 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:05:06 ]
- 嫁が貧乳
- 275 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:13:39 ]
- ユーザが頻尿
- 276 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:19:25 ]
- >>272
詳細なテキストサービスをオフにすると少し幸せになれるかも。 ATOK使いの俺には無縁な話。
- 277 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:21:31 ]
- 最近スレッド使い始めました。
クリティカルセクションとかインターロックで変数を共有するのは なんとなく分かりました。 例えばCRITICAL_SECTIONを使う場合、アプリケーションで一つ用意すれば よいのでしょうか? 極端に言えばCRITICAL_SECTIONをグローバル変数として定義して、 EnterCriticalSection等を使えばよろしいのでしょうか?
- 278 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:33:23 ]
- トイレに例えるなら何個個室があっても鍵がすべて連動してトイレにはひとりしか入れないってことだぞ
それでいいのか?
- 279 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 23:44:28 ]
- それでも良いが性能は良くない
性能向上のためにスレッドを使っているわけではないのなら、別に構わない 無理にシングルスレッドで処理するよりマルチスレッドの方が可読性が高くなることもあるからな 性能を上げたいのなら一人がどこかでロックを握ってる間全員が待たされるような構造は良くない
- 280 名前:277 mailto:sage [2010/02/03(水) 00:18:41 ]
- なるほど。問題点の指摘ありがとうございます。
では、3つスレッドがあるとして、1つは無関係で2つのスレッドで 変数を共有する場合は、クリティカルセクションをどう使えば よろしいのでしょうか? 各スレッドループ中にCRITICAL_SECTIONを定義してりようすればよろしいのでしょうか? 何か根本的に勘違いしている気がしている気がします。
- 281 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 00:32:42 ]
- 共有する変数がグローバルで1個しかないのならクリティカルセクションもグローバルで1個でいいよ
- 282 名前:277 mailto:sage [2010/02/03(水) 00:50:34 ]
- 現在は全体からアクセスできる変数が一つです。
一気にやろうとはしないで少しずつ複雑なパターンを試してみます。 あと環境はWindowsです。失礼しました。
- 283 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 01:35:14 ]
- まあロックが1つで済むならデッドロックとか考えなくて済むし
可能ならその方が悩まない。 パフォーマンスの問題は、占有期間次第とも言えるから。
- 284 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 02:19:04 ]
- クリティカルな部分一個をトイレの個室一つと考える
- 285 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 04:12:03 ]
- たまに鍵かけないやつがいてトラブるんだ
- 286 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 07:23:37 ]
- そうするとトイレの中に
トイレがあって、その中にまたトイレがないと 説明不可能だろ。 トイレはネストできねーだろ
- 287 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 09:11:21 ]
- そうかクリティカルセクションはネスト出来たか
- 288 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 11:33:20 ]
- じゃあトイレがバスルームにあるということで
- 289 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 11:42:57 ]
- 階層数に制限があるからダメ。
- 290 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 11:52:56 ]
- トイレ中に地震がくるのと
小便中に大便を催すのと どっちが我慢できる?
- 291 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 13:45:14 ]
- メモリバリアとmutexの関係が解りません。
メモリバリアとmutexがどういうものか。とかじゃなくて、 関係性とか、必要とされる場面について解説してあるサイトないですか?
- 292 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 13:59:08 ]
- メモリバリア
ja.wikipedia.org/wiki/%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%90%E3%83%AA%E3%82%A2 メモリバリアは単に自CPUのメモリアクセスの順序を制御するだけのもので、 mutexのようなスレッド間の排他制御 (後続のスレッドを進入させずに待たせるような) 機能は無い メモリバリアはCPUの1命令に過ぎず、mutexはOSのスレッド管理と絡むもっと複雑なものだ mutexを実装するOSの中の人は、複数のCPU間の連携のためにメモリバリアを使うかもしれない
- 293 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 16:33:38 ]
- メモリバリアかアトミック命令が無いとMutexは実装出来ない
- 294 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 20:55:32 ]
- >>291 は同期処理のバリアのことじゃないの?
ja.wikipedia.org/wiki/%E3%83%90%E3%83%AA%E3%82%A2_%28%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%A6%29 ロードストアのオーダリングの話と mutex はちょっと離れてる気がする
- 295 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 17:45:59 ]
- >>286
クリティカルセクションのネストって必要かな?
- 296 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 17:49:29 ]
- クラスのスレッドセーフなメソッドから同クラスのスレッドセーフなメソッドを呼び出す場合とかにあると便利かも
そういう動作を意図しなかった場合にバグらないっていう利点もあるね
- 297 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 17:55:39 ]
- 同クラスなら同期処理しないプライベートメソッドを呼び出すのではないか
- 298 名前:デフォルトの名無しさん mailto:sage [2010/02/04(木) 19:04:48 ]
- たとえば口座aから口座bに振替をおこなうには、
口座aと口座b両方のロックを取る必要がある、 という典型的な例は?
- 299 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 08:24:35 ]
- それは二つのCSをロックするだけでネストじゃないんでね?
- 300 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 09:08:04 ]
- こんな話題とメモリバリアの話題が同時進行するってかなりカオスな気がする
- 301 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 13:10:17 ]
- >>298
同時に入ってる必要は無くね?
- 302 名前:デフォルトの名無しさん mailto:sage [2010/02/05(金) 21:40:05 ]
-
両方とも、a→bの流れならトランザクションだけでよくないか?
- 303 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 00:40:47 ]
- スレッドがA、B、C、Dの4つあって
かならずA、B、C、Dの順番で仕事が 終わるようにするには どんなアルゴリズム使えばいいのですか?
- 304 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 00:46:46 ]
- スレッド化する意味あるのか?
B,C,Dは寝かせておいて、Aが自分の仕事を終えたときにBを起こせばいいんじゃないか
- 305 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 13:44:25 ]
- スレッドの終了処理を順番にやる必要があるってことかな。
終わるタイミングを調整したいだけなら、 BがAの終了を待つ CがBの終了を待つ DがCの終了を待つ って感じにやれば順番に終われるんじゃね?
- 306 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 18:28:33 ]
- そしてAがDの終了を待てば完璧
- 307 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 19:34:45 ]
- >>306
どうやって全部待てばいいの?
- 308 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 20:36:58 ]
- Eに管理してもらう
- 309 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 20:51:33 ]
- どうやるのか全然わからない
たすけて
- 310 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 22:14:37 ]
- Aの処理終了の際に2個のスレッドで破れるBarrier1を待つ
Bの処理開始の際に2個のスレッドに破れるBarrier1を待つ Bの処理終了の際に2個のスレッドに破れるBarrier2を待つ Cの処理開始の際に2個のスレッドに破れるBarrier2を待つ Cの処理終了の際に2個のスレッドに破れるBarrier3を待つ Dの処理開始の際に2個のスレッドに破れるBarrier3を待つ
- 311 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 22:16:11 ]
- >>310
>スレッドで破れるBarrier こんなことすると破綻すると思うのですが それは何か新しい概念なのでしょうか?
- 312 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 22:46:53 ]
- >>311
>>294のバリアのことだよ。 2個のスレッドがバリアに到達した瞬間にバリアが破れて同時に進行を再開する。 Wikipediaより… 並列コンピューティングにおけるバリア(英: Barrier)とは、同期方法の一つであり、 ソースコード中でスレッドやプロセスがある箇所で停止し、 他の全てのスレッドプロセスがバリアに到達するまで進行しないようなものを示す。
- 313 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 00:29:35 ]
- >>310
わかりにくい表現だな。
- 314 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 21:28:39 ]
- 同期なり待機って言った方がわかりやすいな
- 315 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 00:13:07 ]
- 追加削除順序を保持しつつ
効率的にアクセス可能なデータ構造って何があるの?
- 316 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 00:25:04 ]
- 二分木
- 317 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 00:32:33 ]
- >>316
マルチスレッドの2分木のサンプル 教えて
- 318 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 00:50:06 ]
- >>315
Skip list. 実装例は java.util.concurrent.ConcurrentSkipListSet とかかな。
|

|