提案されている言語側のサポートとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 提案されている言語側のサポートの意味・解説 

提案されている言語側のサポート

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/05 03:33 UTC 版)

ソフトウェアトランザクショナルメモリ」の記事における「提案されている言語側のサポート」の解説

STM概念的に単純なため、プログラマ比較単純な文法STM を使うことができる。Tim Harris と Keir Fraser論文"Language Support for Lightweight Transactions"で、古典的な条件つき排他領域」(conditional critical region, CCR) を使ってトランザクション表現するアイデア提示したCCR の最も単純な形式は、「アトミック・ブロック」というものである。これは論理的には"一瞬"に実行されるコードブロック考えることができる。 // Insert a node into a doubly-linked list atomically atomic { newNode->prev = node; newNode->next = node->next; node->next->prev = newNode; node->next = newNode; } ブロック最後に到達すると、トランザクション可能ならコミットし、さもなくばアボートして再実行リトライ)される。CCR はまたガード条件設定することを許しており、するべき仕事生じるまでトランザクション待たせることができる: atomic (queueSize > 0) { remove item from queue and use it } ガード条件満たされてなければ、そのトランザクションは、ガード条件影響与えうるコミットが(他のトランザクションにより)なされるまで待たされその後実行されるこのように生産者消費者の間の結びつき弱くすることで、スレッド間で明示的にシグナルやりとりする方法比べてモジュール性改善される。"Composable Memory Transactions" では、retryコマンド導入してこれをさらに一歩押し進めている。このコマンドは、トランザクションを(その途中任意の箇所で)アボートし、その時点までにそのトランザクションによってリードされいずれか共有データ変更されるまで待ってから再実行リトライ)するというものである例えば... atomic { if (queueSize > 0) { remove item from queue and use it } else { retry } } このようにトランザクション中のあとの段階動的にリトライできるようにすることで、プログラミングモデル単純になり、また新し可能性がひらかれる。 課題一つとして例外トランザクションの内から外へ伝播ようとするときにどのように振舞うべきかという点がある。"Composable Memory Transactions" では、筆者らは Concurrent Haskell では例外予期せぬエラーを示すのが普通であり、この場合トランザクションアボートするのがよいと判断したその際例外トランザクションの中で(リード領域確保により)得られ情報持ち出せるとした。これは例外発生理由診断に役立つ。ただし、著者らは、他の問題設定例え他の言語においては他に妥当な設計判断ありうることを強調している。

※この「提案されている言語側のサポート」の解説は、「ソフトウェアトランザクショナルメモリ」の解説の一部です。
「提案されている言語側のサポート」を含む「ソフトウェアトランザクショナルメモリ」の記事については、「ソフトウェアトランザクショナルメモリ」の概要を参照ください。

ウィキペディア小見出し辞書の「提案されている言語側のサポート」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「提案されている言語側のサポート」の関連用語

提案されている言語側のサポートのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



提案されている言語側のサポートのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのソフトウェアトランザクショナルメモリ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS