- 222 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 01:07:34 ]
- ・セマフォは2あるので、@、Aを通ってスレッドAが実行->セマフォ2開放されます
・セマフォ2あるので、スレッドB,Cが実行 2順目なんですが、 ・スレッドB,Cのどちらかの処理が終わって、ひとつセマフォが開放されて@を通過。 ・次に処理が遅れているB,Cのどちらかの処理が終わって、ひとつセマフォが開放されてAを通過。 ・スレッドAが実行される。 っていうループになりますでしょうか。 セマフォの基本がまだわかっていないので、スレッドBがReleaseSemaphoreしたと セマフォが1残っているので、またスレッドBが実行されないかとか変なこと考えてしまいます。 この辺はwaitがキューで入っているとかそういうことなのかと思って調べてみます。 >>220 違う方法もあるんでしょうか。 よかったら、アドバイスよろしくお願いします。
|

|