データソース共有の仕組み

次の表は、2つのタスクで同じデータソースに対して同時にアクセスが実行される場合、そのデータソースの共有の仕組みをまとめたものです。表で、マイナス記号(-)がある場合、2つのタスクのモードが矛盾を起こすことを示しています。これに対して、プラス記号(+)がある場合、2つのタスクのモードは矛盾を起こさず、正常に機能することを表しています。

 

プロセスA

 

 

 

 

 

 

 

アクセスモード

読込

 

 

書出

 

 

 

 

共有

読込

書出

なし

読込

書出

なし

プロセスB

読込

読込

+

+

-

-

-

-

 

 

書出

+

+

-

+

+

-

 

 

なし

-

-

-

-

-

-

 

書出

読込

-

+

-

-

-

-

 

 

書出

-

+

-

-

+

-

 

 

なし

-

-

-

-

-

-

 

例えば、

矛盾が発生した場合、後からアクセスしたプロセスでテーブルロック待ちが発生し、次のプロセスではテーブルロックが解除されるまで待たされます。