Mac OS X 10.6 Snow Leopard Part 8 at MAC
[2ch|▼Menu]
821:721
09/06/12 01:04:39 8HdTgq9C0
>>819
> Technology Brief を読んだだけでは、共有データをどのようにして排他するかという、
> 並列プログラミングで一番問題になるところをどのようにして解決しているのかが分かりません。
> lock する必要がなくなるよ! とは書いてあるのですが…

同じくそこが疑問。

> 1.静的解析をやってしまう : Block 間の依存関係を、コンパイル時にすべてしらべあげてしまうとか

^{} 内から、なんでも呼び出せるとなると、
ソースがない他のライブラリの(スレッドセーフな)関数も呼び出せることになるので、
コンパイル時に調べ上げるっていうのは無理なような。

^{} 内からは、他のライブラリを呼び出せないとしても、
C言語はポインタがあるから、GCC側でどのデータへのアクセスか判定するのはかなり大変かも。

> 2.書けないようにする : 共有データを Block 内に書くことができないようにする。
> 共有するデータは引数として受け渡しするのみ

これな予感。
外部^{} 外で確保したスタック変数と、
外部^{} 外でメモリ確保したヒープ領域への書き込みは出来ないとか。
書き込みには専用の関数の呼び出しが必要とか。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5394日前に更新/209 KB
担当:undef