Mac OS X 10.6 Snow Leopard Part 8
at MAC
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