- PR -

C#のスレッドについて

1
投稿者投稿内容
パピン
常連さん
会議室デビュー日: 2002/01/23
投稿数: 20
投稿日時: 2002-01-23 20:29
C#で実装したスレッドはどういったアクションのときに切り替わるのでしょうか?
私は次のようなときに切り替わっているんじゃないかなと考えているのですが、
間違いや付け足しなどがありましたら教えてください。

・OSやマシンパワーに依存するCPUの占有時間
・資源の共有空き状態に入るとCPUの占有を明け渡す
・信号待ち状態のまま動けないとき別のスレッドに占有がわたる

また、スレッドの動きをトレースしていると、Monitorなどで同期を取っている最中に
スレッドが切り替わったようなことがあったんですが(曖昧ですみません)、
これを防ぐような方法はあるのでしょうか?
autumn
大ベテラン
会議室デビュー日: 2001/07/27
投稿数: 215
投稿日時: 2002-01-24 16:09
 Monitorの機能は、スレッドが切り替わらないようにロックすることではなく、あるオブジェクトに対する別のスレッドからアクセスすることを抑止する機能だと思うので、スレッド切り替えが起きても不思議ではないと思います。

_________________
パピン
常連さん
会議室デビュー日: 2002/01/23
投稿数: 20
投稿日時: 2002-01-24 17:06
川俣さんレスありがとうございます。

>Monitorクラスに関して
そうですね、こちらでも確認を取りました。

では別のスレッドに制御が移行しないように、実行中のスレッドを
同期処理が終わるまで占有するような手段はないでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)