- PR -

CFでスレッドを一時停止・再開する方法

1
投稿者投稿内容
がらす
ベテラン
会議室デビュー日: 2005/07/14
投稿数: 99
投稿日時: 2006-06-08 10:31
いつもお世話になっております。
コンパクトフレームワーク(CF)でスレッドをSuspend, Resumeする処理を行いたいのですが、CFでは Thread.Suspend も Thread.Resume もサポートされていないようです。

Thread.Sleep(Timeout.Infinite)で期限を指定せずにSleepさせられることは分かったのですが、どうやって起こせばいいのか分かりません。どのようにやればよいのでしょうか?

それとも、何か良い方法がありますでしょうか?
やりたいことは、ユーザーが一時停止ボタンを押せば処理スレッドを停止して、解除すれば再開するという単純なことです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-08 10:47
引用:

がらすさんの書き込み (2006-06-08 10:31) より:

コンパクトフレームワーク(CF)でスレッドをSuspend, Resumeする処理を行いたいのですが、CFでは Thread.Suspend も Thread.Resume もサポートされていないようです。


スレッド周りは、2.0 か 1.1 以前かで大きく変わったにも関わらず、
Suspend メソッド Resume メソッドは未だにサポートされていませんね。

引用:

Thread.Sleep(Timeout.Infinite)で期限を指定せずにSleepさせられることは分かったのですが、どうやって起こせばいいのか分かりません。どのようにやればよいのでしょうか?


System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite); ですが、
Sleep メソッドは静的メソッドであることに注意してくださいね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-06-08 11:20
SemaphoreやAutoResetEventで代用が効きませんか?

「Threadの内部状態とまったく関係なく、Suspend/Resumeしなくてはならない」なんて要件、そう滅多にあるものじゃ無いと思うのだけど。
1

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