進捗処理を追加(並列処理とUIスレッドへの追加)の実行中にキャンセルをするコードがどんな感じになるのか興味があったので、MSDN オンラインを参照しながら試行錯誤してみたのですが、とりあえず実行中に例外が起こらないものができました。ポイントは次のようなところです。
月別アーカイブ: 2011年3月
並列処理のキャンセル操作(その1)
並列処理のキャンセル操作がどんな感じになるのか興味があったので、ちょっと試してみた結果です。
まずは基本的なものということで、並列処理のスレッドを1つ作って、キャンセル要求されたら単純に return することで中断するもの。
コードは、進捗報告を追加(並列処理とUIスレッドへの追加)のものから、 Parallel.For を使わないものにして、キャンセル操作を記述したものです。
続きを読む 並列処理のキャンセル操作(その1)
東北地方太平洋沖地震の発生から一週間
2011年3月11日14:46 の東北地方太平洋沖地震発生から一週間が経ちました。
関東地方でも東京電力の計画停電による大きな影響など、平凡な日常とは異なる日々が続いています。
また、地震発生の翌日以降に明らかになってきた被害の実態、津波で一変した街並み、ビデオ撮影された襲いかかってくる津波の圧倒的なまでの破壊力、お亡くなりになってしまわれた方や行方不明になってしまわれた方々の人数の多さ・・・自然災害の凄さに言葉もなく、まさに「絶句・・・」というしか。。。
津波さえなければ・・・という思いはありますが、自然相手にそういうことを考えても埒もなく、今後はこのような巨大な津波に対して、どのようにすれば?ということを考えていくしかないのでしょう。。。
そして、今後は、今現在避難されている方々への支援、そして、生活の復興に向けた取り組みを行って、一歩ずつでも前に進んで行く段階になっていきます。巨大地震と、そしてあまりにも巨大な津波のために、被災地域が東北から関東までの太平洋岸一帯という、とてつもない広域になってしまっていて、目が眩む思いですが、足元を見れば、仮設住宅の建設に向けた動きが始まっているなど、歩みは着実に進んでいることが分かります。
3月11日以前の平凡な日々とは違う世界になってしまうかもしれませんが、力を合わせて一歩ずつ進んで行きましょう!
進捗報告を追加(並列処理とUIスレッドへの追加)
MSDN マガジンに「並列コンピューティング – SynchronizationContext こそすべて」という記事が掲載されていて、その中で「UI を更新しながら進捗状況を報告する」というトピックがあります。ちょうど並列処理とUIスレッドで書いたコードがあるので、当該コードに進捗報告を追加してみました。
追加・変更行は強調表示にしてあります。 続きを読む 進捗報告を追加(並列処理とUIスレッドへの追加)
平成23年(2011年)東北地方太平洋沖地震
今日、14時46分頃に三陸沖で発生した地震、M8.8!! 😯 の巨大地震です!
その時間、たまたま大きな書店の中にいたんだけど、館内放送で「地震が発生しました」というアナウンスが流れて、『ん?言われてみれば、ちょっと揺れてるかも』と思っていたら、大きく揺れだして、本棚の下にある収納ドアが開いてきたり、本棚に入っていた本が飛び出してきたり。。。わたしもフラつきそうになってきたので、本棚の枠に掴まって体勢を確保しながら、『これは。。。デカイぞ!』とちょっと家が心配に(案の定、食器棚から湯のみが2つ落ちて割れてたり、部屋のダンボールが崩れてたりでした。まぁ揺れのわりに(震度4でした)被害は少なかったのかも)。でも、訓練でなく「大きな地震が発生しています!」のアナウンスを聞くとは思ってなかったですねぇ。。。 続きを読む 平成23年(2011年)東北地方太平洋沖地震
ソース掲載用行番号動的付加のJavaScript
一つ前の記事でプログラムのソースコードを掲載した時に、「どうせ掲載するなら行番号もあったほうが見やすいよなぁ」。。。と思いながら、「でも、いちいち行の前後を<li></li>タグで囲むのも面倒だしぃ」と 😀 そこで、ページのロード時に動的に行番号付きに書き換える JavaScript を書いてみました(まぁ、<>&などのエスケープがあるので、流しこむ前にプログラムで変換かけてるから、そっちでやっても大差はないんだけど 😀 こっちのほうが HTML のソース見たときに汚くないので)。 続きを読む ソース掲載用行番号動的付加のJavaScript
並列処理と UI スレッド
Visual C# 2010 (と.NET Framework 4)でマルチスレッド処理がかなり楽に書けるようになっています 🙂 (参考「連載:C# 4入門 第2回 タスク並列ライブラリ」「連載:C# 4入門 第3回 TaskクラスとPLINQ(Parallel LINQ)」)。
ただ、ウィンドウ・アプリケーションだと、UI スレッドでの画面更新が必要になる制限は以前どおりで、この部分の日本語で書かれた参考ソースが(ちょっと調べた限りでは)まだ少ないです。この部分が書きやすいか、自由度はどうなのかというのに興味があったので、MSDN ライブラリを調べつつ、ちょっと書いてみました。
短縮URLでドメインを隠蔽したスパム
OCNのブログのほうで写真を掲載してるんですけど、そこにアダルトサイトからのスパムが来るので、宣伝してるドメインを NG ワードに叩き込んで煩わしさを回避してます。が、ついにというか、懸念していたとおりになったというか、宣伝ドメイン名を短縮 URL で隠蔽してきました。まぁ、blog の文字数制限はきつくないので、短縮 URL サービスのサイト自体を NG ワードに登録してやりましたが 8) (読み手は必要ならリンクをクリックすれば済む話だし、書く方は文字数制限を気にすることもないので、短縮URLを取得する手間を考えると、短縮URLを使う必要は全くないでしょう)
短縮 URL サービスは Twitter などの文字数制限のキツいサービス上で URL を書きたいというニーズに答える形で生まれましたが、本来の URL を隠蔽してしまうという効果もあって、どうかなぁと思っていましたけど、ついに NG ワード回避にも使われだしたみたいですね。これが野放図に広まっていくと、「短縮 URL は信用できない」ということになっていくかも。。。まぁ個人的にはそれでも一向に構わないわけですが 😀