ネタ元:コマンドプロンプトで動くアナログ時計を作る
ってことで、スレッドの待機ルーチンだけサンプルソース起こしてみました。
ビルド環境は、Vista Ultimate x86 SP1 + VS2008 SP1 の C# ですが、たぶん、.NET Framework が使えて C# のコードがビルドできればバージョン不問だと思いますw
難しいものは何も使ってないしw
using System;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main( string[] args )
{
var thread = new Thread( ThreadProc );
ManualResetEvent exitEvent = new ManualResetEvent(false);
thread.Start( exitEvent );
Console.WriteLine( "Enter キーを押すと終了します" );
Console.ReadLine();
exitEvent.Set();
thread.Join(); // 終了を待機する
}
static void ThreadProc( object obj )
{
Console.WriteLine( "スレッドが開始されました" );
WaitHandle exitEvent = obj as WaitHandle;
while( exitEvent.WaitOne( 1000 ) == false )
{
Console.WriteLine( "タイムアウト" );
}
Console.WriteLine( "スレッドを終了します" );
}
}
}
コメントもエラーチェックも入ってませんけどw
Console オブジェクトを使っていない行すべてが肝の部分です。