製品
製品の一覧
Mathematica
Mathematica
学生エディション
Mathematica
ホームエディション
Wolfram
CDF Player
(無料ダウンロード)
CDF(計算可能ドキュメント形式)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
アドオン
Wolfram|Alpha関連製品
ソリューション
ソリューションの一覧
工学
航空宇宙工学と防衛
化学工学
制御系
電気工学
画像処理
生産工学
材料科学
機械工学
オペレーションズリサーチ
光学
石油工学
バイオテクノロジーと医学
バイオインフォマティクス
医用画像処理
金融,統計,ビジネスの分析
保険数理
データの解析とマイニング
計量経済学
経済学
金融工学と数学
財務リスク管理
統計
ソフトウェア工学とコンテンツ配信
オーサリングと出版
インターフェース開発
ソフトウェア工学
Web開発
科学
天文学
バイオサイエンス
化学
環境科学
地球科学
社会・行動科学
デザイン,芸術,娯楽
ゲームデザイン・特殊効果・ジェネレーティブアート
教育
高等教育
短大・専門学校
初等・中等教育
学生
テクノロジー
CDF(計算可能ドキュメント形式)
高性能並列計算(HPC)
参照:テクノロジーガイド
ご購入
オンラインストア
他の購入方法
Volumeライセンスとサイトライセンス
販売部へのご連絡
ソフトウェア
サービス
アップグレード
トレーニング
書籍
Wolframグッズ
サポート
テクニカルサポートページ
Mathematica
ドキュメント
知識ベース
ラーニングセンター
テクニカルサービス
コミュニティ & フォーラム
トレーニング
サイトライセンスの確認
Wolframユーザポータル
会社概要
会社概要
ニュースとイベント
Wolframブログ
パートナーシップ
採用情報
Mathematica
の歴史
Stephen Wolframのホームページ
連絡先
Wolfram Webサイト
サイトの一覧
Wolfram|Alpha
デモンストレーションプロジェクト
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
DOCUMENTATION CENTER SEARCH
New to
Mathematica
?
Find your learning path
»
Mathematica
>
システムインターフェースと配備
>
並列計算
>
並列計算におけるリソースの共有
>
CriticalSection
>
Mathematica
>
コアとなる言語
>
調整とデバッグ
>
並列計算
>
並列計算におけるリソースの共有
>
CriticalSection
>
MATHEMATICA 組込みシンボル
SetSharedVariable
ParallelSubmit
WaitAll
関連項目 »
|
並行性
並列計算
並列計算におけるリソースの共有
バージョン7.0の新機能のまとめ
バージョン7.0の新機能:アルファベット順のリスト
バージョン7.0の新機能:システムインターフェースと配備
その他 »
CriticalSection
CriticalSection
並列計算について変数
をロックし,
expr
を評価し,
を解放する.
詳細
任意の並列カーネル上で同時実行できる同じロック変数の危険域が最高で1つ許容される.
ロックとして使われる変数はマスターカーネルの値を持っていてはならない.
例題
すべて閉じる
例
(1)
1ブロックのコードを他のスレッドの干渉から保護する:
更新コードへのアクセスから保護しないとサブカーネルが結果を上書きしてしまうかもしれない:
1ブロックのコードを他のスレッドの干渉から保護する:
In[1]:=
In[2]:=
Out[2]=
更新コードへのアクセスから保護しないとサブカーネルが結果を上書きしてしまうかもしれない:
In[3]:=
Out[3]=
一般化と拡張
(1)
ロック変数は
の形でもよい:
アプリケーション
(1)
別々の読み書き操作はスレッドセーフではない:
CriticalSection
を使ってコードセクション全体を原子的にする:
特性と関係
(2)
ロックはカーネルIDを局所変数に書き込むことで得られる:
危険域の代りに共有関数を使って同期することができる:
これより効率は下がるが,共有変数と危険域を使うこともできる:
考えられる問題
(1)
ロック変数は危険域で使用される前に値を持ってはならない:
デッドロックは放棄することで解消できる:
おもしろい例題
(1)
デッドロックが回避できる「食事をする哲学者」:
関連項目
SetSharedVariable
ParallelSubmit
WaitAll
その他
並行性
並列計算
並列計算におけるリソースの共有
バージョン7.0の新機能のまとめ
バージョン7.0の新機能:アルファベット順のリスト
バージョン7.0の新機能:システムインターフェースと配備
バージョン 7 の新機能