ID : 5037
排他処理のプログラム例2
Mutexオブジェクトの生存期間を意識したタスク間の排他処理例です。Pro1-> Pro2-> Pro3が順に実行されます。Mutexオブジェクトの生存期間はPro1に依存します。
'!TITLE "排他処理プログラム例2"
' プログラム名 "Pro1"
Sub Main
Dim id as integer
id = CreateMutex( “Blocking-Section” )
TakeMutex id
Run Pro2
Run Pro3
TakeMutex id
For I1 =1 To 10
PrintDbg “pro1 - ” & I1
Delay 100
Next
GiveMutex id
Wait MutexState(id) = 0 ‘ 全て終了するまで待つ
DeleteMutex id
End Sub
'!TITLE "排他処理プログラム例2"
' プログラム名 "Pro2"
Sub Main
Dim id as integer
id = MutexID( “Blocking-Section” )
TakeMutex id
For I1 =1 To 10
PrintDbg “pro2 - ” & I1
Delay 100
Next
GiveMutex id
End Sub
'!TITLE "排他処理プログラム例2"
' プログラム名 "Pro3"
Sub Main
Dim id as integer
id = MutexID( “Blocking-Section” )
TakeMutex id
For I1 =1 To 10
PrintDbg “pro3 - ” & I1
Delay 100
Next
GiveMutex id
End Sub
関連項目
ID : 5037