とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

Windows ユーザー エクスペリエンス ガイドライン

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

スレッドの安全な終了

ネタ元:コマンドプロンプトで動くアナログ時計を作る

ってことで、スレッドの待機ルーチンだけサンプルソース起こしてみました。

ビルド環境は、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 オブジェクトを使っていない行すべてが肝の部分です。

投稿日時 : 2009年3月11日 21:35

コメントを追加

# re: スレッドの安全な終了 2009/03/11 22:10 StrangeWorker

わかりやすいサンプル、ありがとうございました!

# re: スレッドの安全な終了 2009/03/12 0:41 倉田 有大

をManualResetEventだ。

難しい終了のしかたも希望w

# re: スレッドの安全な終了 2009/03/12 10:08 とっちゃん

難しい終了って。。。w

ま、それはともかく、ManualResetEvent( というかWaitHandle)は、IDisposable をしょってるので、usingでくくるなりしてやる必要がありますね。

using( ManualResetEvent exitEvent = new ...){
...
thread.Join();
}
という感じで

こういう地味な部分が安定稼働につながるんだよなぁ。。。

# re: スレッドの安全な終了 2009/03/13 15:18 倉田 有大

>ま、それはともかく、ManualResetEvent( というかWaitHandle)は、IDisposable をしょってるので、usingでくくるなりしてやる必要がありますね。

げ、まじですか。
でも、IDisposable しょってるクラスは結構おおそうですね。
全部、かたっぱしからusingすると、ヒドイコードになるかも

# re: スレッドの安全な終了 2009/03/13 15:47 とっちゃん

一応、タイトルが「安全な」ですからねーw

参照範囲が複雑(スレッド間で受け渡しされるのは、最難関に近い複雑度を持ちます)な場合は、意識して解放するというのはあるかな。
ま、COMの参照に比べればずっと楽ですけどw

>IDisposable しょってるクラス
基本的には、unmanaged な情報を背負ってるものだけですよ。
なので Stream とか、System.Drawing 名前空間のオブジェクト(全部じゃない)とか...
あ、GUI(System.Windows.Forms系)系のものもIDisposable 持ってますね。
ってか、HWND抱えるやつは絶対そうなるんですがw

# re: スレッドの安全な終了 2009/03/28 12:52 aetos

IEnumerable<T> とか。

# Because the admin of this website is working, no question very soon it will be famous, due to its quality contents. 2018/10/06 4:53 Because the admin of this website is working, no q

Because the admin of this website is working, no question very
soon it will be famous, due to its quality contents.

# Howdy! Someone in my Myspace group shared this website with us so I came to check it out. I'm definitely enjoying the information. I'm book-marking and will be tweeting this to my followers! Fantastic blog and great style and design. 2018/10/06 9:35 Howdy! Someone in my Myspace group shared this web

Howdy! Someone in my Myspace group shared this
website with us so I came to check it out. I'm definitely enjoying
the information. I'm book-marking and will be tweeting this
to my followers! Fantastic blog and great style and design.

# What's up, I would like to subscribe for this blog to take most up-to-date updates, so where can i do it please assist. 2018/11/03 0:49 What's up, I would like to subscribe for this blo

What's up, I would like to subscribe for this blog to take most up-to-date updates, so where can i do
it please assist.

# Hi there, every time i used to check website posts here early in the dawn, since i enjoy to gain knowledge of more and more. 2019/04/06 11:26 Hi there, every time i used to check website posts

Hi there, every time i used to check website posts here early in the dawn, since i enjoy
to gain knowledge of more and more.

# Heya! I realize this is sort of off-topic however I had to ask. Does running a well-established website like yours take a lot of work? I am brand new to running a blog but I do write in my diary everyday. I'd like to start a blog so I can easily share m 2019/05/10 9:45 Heya! I realize this is sort of off-topic however

Heya! I realize this is sort of off-topic however I had to ask.

Does running a well-established website like yours take a lot of work?
I am brand new to running a blog but I do write in my diary everyday.
I'd like to start a blog so I can easily share
my personal experience and feelings online. Please let
me know if you have any kind of ideas or tips for new aspiring blog owners.

Thankyou!

# Excellent article. I will be facing a few of these issues as well.. 2019/05/14 3:22 Excellent article. I will be facing a few of these

Excellent article. I will be facing a few of these issues as well..

# Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph. natalielise pof 2019/07/26 7:19 Remarkable! Its in fact awesome piece of writing,

Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph.

natalielise pof

# Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph. natalielise pof 2019/07/26 7:20 Remarkable! Its in fact awesome piece of writing,

Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph.

natalielise pof

# Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph. natalielise pof 2019/07/26 7:21 Remarkable! Its in fact awesome piece of writing,

Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph.

natalielise pof

# Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph. natalielise pof 2019/07/26 7:22 Remarkable! Its in fact awesome piece of writing,

Remarkable! Its in fact awesome piece of writing, I have got much clear idea concerning from this paragraph.

natalielise pof

# ブランド通販店 2019/09/17 6:59 Georgefipse

弊社は各ランクのブランド商品満載し、ブランド通販店で一番信用のある店なので!。
品質はこちらが間違いなく保証します。
https://www.ginzaoff.com

■取扱ブランド ロレックス時計コピー、カルティエ時計コピー、IWC時計コピー、
ブライトリング時計コピー、パネライ時計コピー.
◆ スタイルが多い、品質がよい、価格が低い、実物写真!
◆ ご入金頂いてから最速4日、遅くとも7日程度でご指定場所へ発送出来る予定でございます
◆ 商品送料を無料にいたします

◆信用第一、良い品質、低価格は 私達の勝ち残りの切り札です。
◆ 当社の商品は絶対の自信が御座います。
◇ N品質 シリアル付きも有り 付属品完備!

◆ 必ずご満足頂ける品質の商品のみ販売しております。
◇ 品質を最大限本物と同等とする為に相応の材質にて製作している為です。
◆ 絶対に満足して頂ける品のみ皆様にお届け致します。

興味あれば、是非一度サイトをご覧になって下さい。
今後ともよろしくご愛顧くださいますよう、お願い申し上げます
https://www.ginzaoff.com
お取り引きを開始させていただきたく思います。
詳細に関してはどうぞお気軽にご連絡ください。

# ロレックス ピンクシェル ダイヤ 2022/07/30 12:05 ggrmtc@yahoo.co.jp

凄く丁寧に対応下さいましてありがとうございます。連絡も早くて、決済方法の変更にも快く応じて下さり・・・尚且つ、発送も早くして頂いたので誕生日に間に合いました。本当にありがとうございました
★ブルガリ ブルガリ★ブルガリ ブルガリ リング★AN855854★750(K18PG)×ダイヤモンド★サイズ54★
ずっとずっと・・・憧れ続けていたブルガリリング。ゼロワンのタイプにしようか・・・とか、何年迷い続けていたのか忘れてしまいましたが・・・10年以上は迷い続けていたと思います。
その中でも、日本限定クリスマス限定のこちらは欲しくても手に入れれなかったので諦めていたのですが、私の誕生日にと主人が購入してくれる事に。
新品とは思えない綺麗なお品で・・・箱もつぶれも汚れもなく、本当に大満足です。

# 迅速かつ丁寧な対応をありがとうございました!★ルイヴィトン★モノグラム★モンスリMM★リュック★M51136★120615002★画像より小さく感じました。けっこう重たいです。 2022/10/12 15:50 xototryvgp@softbank.ne.jp

最安値!
★超人気新品★激安通販!
新品入荷!
新品イタリア製!
【2022最新入荷】低価格!
【全品送料無料】100%の品質保証!
SALE定番!
HOT本物保証!
最新アイテムを海外通販!全国送料無料!
好評セールス中!
信用第一、良い品質、低価格!
内の卸売デザイナーのラグジュアリーアイテムアイテム
豪華アイテムアウトレットセール
激安大特価,送料無料!
これらの製品は低価格なのである
迅速かつ丁寧な対応をありがとうございました!★ルイヴィトン★モノグラム★モンスリMM★リュック★M51136★120615002★画像より小さく感じました。けっこう重たいです。 https://www.gooshop001.com/product/detail/11962.htm

タイトル
名前
URL
コメント