Threads[Mutex][Destroy] -ミューテックスにより使われているリソースを破棄する
使い方
Destroy(mutexId1, mutexId2, ...)
パラメータ
mutexId* - ミューテックス識別子 (整数)
|
説明
|
|
•
|
Destroy コマンドは引数のミューテックス識別子を持つリソースを破棄します。
|
•
|
ミューテックスを作るためには Create コマンドを使います。
|
•
|
状態変数の使い方の概要については Mutex を参照ください。
|
|
|
例
|
|
>
|
p := proc( m )
global count;
print( count );
count := count+1;
end proc;
|
p := proc(m) global count; print(count); count := count + 1 end proc
| |
関数 p を 10 個のスレッドで作成します。
>
|
Threads:-Wait( seq( Threads:-Create( p(m) ), i=1..10 ) );
|
ミューテックスなしで、同じ値を複数プリントします。
>
|
p := proc( m )
global count;
Threads:-Mutex:-Lock( m );
print( count );
count := count+1;
Threads:-Mutex:-Unlock( m );
end proc;
|
p := proc(m)
global count;
Threads:-Mutex:-Lock(m);
print(count);
count := count + 1;
Threads:-Mutex:-Unlock(m)
end proc
| |
>
|
m := Threads:-Mutex:-Create();
|
新たに関数 p を 10 個のスレッドで作成します。
>
|
Threads:-Wait( seq( Threads:-Create( p(m) ), i=1..10 ) ):
|
ミューテックスを使って共有変数へのアクセスを制御します。このとき一度にプリントします。
>
|
Threads:-Mutex:-Destroy( m );
|
|
|
Download Help Document
Was this information helpful?