マルチスレッドプログラミング相談室 その3
レス数が950を超えています。1000を超えると書き込みができなくなります。
0982デフォルトの名無しさん
2005/10/29(土) 12:11:40詳しく。
・ツリー上にのどが存在
・ノードには他のノードに対するポインタ情報(親ノード、子ノード)とそのノード自身のデータが存在する。
・ノードはスレッドにより随時更新される。
・更新内容はそのノード自身データの更新とノードに対するポインタの更新(親ノードの変更、子ノードの追加・削除)が存在
・ノードのデータを読み処理するスレッドあり。
・読み込み処理としてはそのノードのみのデータを処理するもの、下位ノードすべてのノードの合計など複数ノードのトラバースが必要なものがある。
・読み込み処理のスレッドから更新処理を行う可能性あり。例:条件にあるノードを探し、該当するものを更新
・UIスレッド以外にも読み込みスレッドが存在する。
・ノード数は十万単位でありクラスレベルロックなどでは不可。ただしすべてメモリ上に展開できるものとする。
こんなところです。
ポイントはノード自身のデータとポイントに関する処理の区分け。ノード間をトラバースしながらの処理でのデッドロック回避かと思ってます。
この辺で一般解などあれば参考にしたいです。
レス数が950を超えています。1000を超えると書き込みができなくなります。