「おとは@でいじー開発部」トップページに移動します
プロフィール
短く紹介
一応肩書付き最前線プロのプログラマーです☆
デザイン、サウンド、企画、設計、プログラム構築まで幅広く知識を身につけるべく修行に励んでおります!!
ハードウェア開発の沼にどっぷり漬かってぬくぬく☆

ひとり言
ハードウェア開発に興味を持ってしまった・・・当分はハードウェアについて記事を書いていくのだ♪♪
WPFの紹介ウェブページもある程度コンテンツが増えたのでライブラリの公開を一時中断したよ(爆)
スポンサード リンク
カレンダー
2023年 3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
人気記事
- 2017/11/28 22:40 (0)
新規記事
- 2017/11/28 22:40 (0)
コメント
登録はありません
トラックバック
登録はありません
バックナンバー
RSS
常に最新情報を得るためにはRSSを利用しましょう。
QRコード
QR Code

現在のページを通報
「ぶろぐるすとーりーと管理人」へ不適切な記事の通報が行えます。
通報を行いたい対象記事のみを表示した状態で通報して下さい。

直近記事のリンク



スレッドを利用した分散処理

投稿日時 2015/05/04 00:46:26

ゲストさん、こんにちはhappy01

高級アプリ製作の極意 ~WPF編~のお部屋へようこそ。
このお部屋では 第17章 の「 スレッドを利用した分散処理 」についてお話したいと思います。

アプリ製作において どうしても避けられないのは CPU負荷の高い処理 です。
たくさんのデータの中から検索したり難しい計算を繰り返し行ったりするとCPUをたくさん使用することになります。

高級アプリは基本操作する人を待たせないことが要求されますsign03
どうしても待ってもらう必要が出てきた時は「 処理を行っている状態を常に表示する 」や「 バックスレッドを使用して他の作業が出来るようにする 」などの対策が必要です。

バックスレッドは便利で表向きのUI操作とは別に自由に処理を行うことが出来ます shine
そして、スレッドの処理のタイミングで表向きのUIへ表示を反映させることが出来ます
scissors

バックスレッドをたくさん使用すればその分CPU負荷も上がるので全部スレッドを分ければ良いのかと聞かれたらそうではないので 本当に高負荷の処理に合わせて利用するのが好ましい

サンプルで実装しているスレッド処理は、「 Threadクラスを使用した高度なスレッド制御 」と「 Taskクラスを使用したシンプルなスレッド処理 」の2種類ですheart04


特に .Net framework 4.5から用意されたTaskクラスのスレッド処理は本当に実装が楽で扱いやすい 処理ですnote
1分掛かるアプリがあってそこへ10行程度のTask分散処理を記述したところ10秒程度になったなんてこともありますhappy02
お仕事で200人以上の人が使うアプリとかをちょくちょく作る私は 特に処理速度は気を使っていますよ

仕事でも下の単純な計算式を周りの人にしっかり伝えています。
アプリ利用者の作業コストdollar アプリによって待たされる時間clock ×人数shadow ×使用頻度pc

待ち時間が1分10人1日に10回使用するとしたら100分の作業時間が掛かるわけで、10秒の待ち時間なら10分で済むわけです。

1日に平等にある作業時間を とりあえずで組んだへなちょこプログラムで浪費しないように sign01


clip サンプルダウンロード
 


clip サンプルイメージ画像

おとは@開発隊長さんの投稿画像
解析用のボタンを2種類用意しました。
「解析」 のボタンはバックスレッドを使用しないので ボタンを押した瞬間から数分間、アプリの操作を一切受け付けません
「解析(スレッド)」 のボタンはバックスレッドを使用します。
バックスレッド処理のため処理中でも操作を行うことができます。

サンプルプログラムは2種類のスレッド処理を記述しています。
ソースコード内にマクロで機能の切り替えが出来るようになっていますのでUSE_THREADの定義を探して有効無効に切り替えてみて下さい。

サンプルの中では C言語向けのAPIをDLLから参照して呼び出しする少し高度な処理 も書いています。
独自制御のスレッド処理の場合はCPU割り当てもしたいことがあるので使用するCPU割り当てを行うための処理も参考になるかと思います。
 


投稿者

おとは@開発隊長  

カテゴリー

C#言語

タグ

Windows C# WPF
  • Yahoo!ブックマークに登録
  • このエントリーをはてなブックマークに追加
コメント ※ぶろぐ管理者による許可があるまで投稿コメントは表示されません

*が付いた項目は入力が必須となっています。

名前

タイトル

メールアドレス

リンクURL

本文 *


※200文字まで

画像認証 *

スパム対策のためご協力下さい 
  




直近記事のリンク



ページビューカウンター
145146
ウェブページ
+ハードウェア編
+ソフトウェア編
+ノウハウ・技能編
+道具・雑貨編
+初級編
+中級編
+上級編
+番外編
+初級編
+中級編
フリースペース
☆ハイレゾ音源☆

☆お絵かきするなら☆

☆カスタムPC☆

ギャラリー
カテゴリー
ほびぃ~
くりえいてぃぶ
電子回路 (14)
ぷろぐらみんぐ
C#言語 (21)
C++言語 (4)
PHP言語 (3)
あいてぃー・こんぴゅーた
ぷろふぇっしょなる
全般 (16)
れびゅー
お気に入りたぐ
ツイッター
お問合わせ
ぶろぐ管理者にお問合わせしたい時は専用フォームから連絡が行えます。


  • ipv6 ready
Blogle Storeet Core System v2.0a
おとはうぇぶあぷりぶ (IPv4) v2.6a
Copyright (C) 2014-2018 Blogle Storeet Development Team.