- PR -

常駐アプリケーション

投稿者投稿内容
ダイエット
会議室デビュー日: 2007/04/20
投稿数: 13
投稿日時: 2007-04-25 18:16
タスクトレイにアイコンを表示させ、PC起動時からの常駐アプリケーションを
作る場合、Baskroundworker または System.Treading または それ以外
のどれを使うのがメモリ消費が少なくてすむでしょうか?
VisualStudio.NET2005を使っています。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-04-25 18:56
引用:

ひまわりさんの書き込み (2007-04-25 18:16) より:
タスクトレイにアイコンを表示させ、PC起動時からの常駐アプリケーションを
作る場合、Baskroundworker または System.Treading または それ以外
のどれを使うのがメモリ消費が少なくてすむでしょうか?
VisualStudio.NET2005を使っています。


PC起動時に常駐アプリケーションなんて作れないよ。起動ならできるだろうけど。
あとBaskroundじゃなくてBackgroundね。2字違うよ。
別スレッドにする必要なんてあるのかなぁ。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-04-25 19:30
常駐して何をしたいんでしょうか?

タスクトレイという言葉が出ている以上、ログインした誰かのタスクトレイに常駐するわけで、PC起動時にプログラムを開始することはできませんよね。
PC 起動時に WindowsService を起動させて、そいつと通信することはできるかもしれないけれど...

メモリ消費量はたぶん気にするほど変わらないと思います。
タイマーっていう手もありますね。
_________________
かるあ のメモスニペット
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-26 06:57
引用:

ひまわりさんの書き込み (2007-04-25 18:16) より:
タスクトレイにアイコンを表示させ、PC起動時からの常駐アプリケーションを
作る場合、Baskroundworker または System.Treading または それ以外
のどれを使うのがメモリ消費が少なくてすむでしょうか?
VisualStudio.NET2005を使っています。

何をしたくて、どう考えたので、それらを使おうと考えたのでしょう?

普通に windows アプリケーション作って起動させると、終了させるまで常駐していますよね。

たぶん、ウィルス チェッカーのように、起動時に開始してかつ、タスク トレイにも表示したい、ってとこだろうけど、あれはサービスと、タスク トレイの二本立てだと思う。
_________________
ダイエット
会議室デビュー日: 2007/04/20
投稿数: 13
投稿日時: 2007-04-26 09:07
質問を書き換えます。(同じですが・・)

PC起動時から電源断または強制終了まで処理が続くアプリケーションをつくる場合、
1 Backgroundworker
2 System.Treading
3 または それ以外?
のどれを使うのがメモリ消費が少なくてすむでしょうか?
どのコントロール(またはクラス)を使うのがメモリ消費が少ない
かを知りたいということです。
そのアプリケーションの使途は関係ないと思います。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2007-04-26 09:42
  • 起動時、と言うのが曖昧です。ログオンしたときなのか、それとも誰もログオンせずとも起動しなければならないのか。まあ普通はログオン後で十分のはずですが。
  • 常駐することとスレッドとは直接的には関係ありません。ですから質問自体成り立っていません。
  • 個人的には、それらの差をメモリだのリソースだので測るのは馬鹿馬鹿しいと思います。コーディングの容易さ、保守管理のしやすさをまず考えるべきでしょう。
  • 大抵のものは先達がいます。それらのデザインを参考にすることは当然かと思います。そして回答者はそれを元に、「これがしたい」->「ならこういうのが定石だ」と答えることが多いです。何をしたいのかを明確にすれば、的確な回答が得やすくなるでしょう。
ダイエット
会議室デビュー日: 2007/04/20
投稿数: 13
投稿日時: 2007-04-26 21:46
1 Backgroundworker
2 System.Treading
3 または それ以外?

スレッドを増やす場合、同じマシンで同じ処理を行うと仮定して、どの方法が
一番レスポンスがよいでしょうか?

繰り返しますが、アプリケーションの使徒、目的はまったく関係ありません!
揚げ足とりばかりで、本来の質問を見ていないと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-26 22:40
引用:

ひまわりさんの書き込み (2007-04-26 09:07) より:
質問を書き換えます。(同じですが・・)

PC起動時から電源断または強制終了まで処理が続くアプリケーションをつくる場合、
1 Backgroundworker
2 System.Treading
3 または それ以外?
のどれを使うのがメモリ消費が少なくてすむでしょうか?
どのコントロール(またはクラス)を使うのがメモリ消費が少ない
かを知りたいということです。
そのアプリケーションの使途は関係ないと思います。


 Hongliangさんとかぶりますが。
 私は、「何をしたくて、どう考えたので、それらを使おうと考えたのでしょう?」と尋ねたのですが、それに対する回答は、書き直した後にもないですよね?
 なぜこれを聞いたのか、Hongliangさんが書いてくださっているように、
引用:
大抵のものは先達がいます。それらのデザインを参考にすることは当然かと思います。そして回答者はそれを元に、「これがしたい」->「ならこういうのが定石だ」と答えることが多いです。



 常駐するという目的と、スレッド(BackgroundWorker も、スレッドを簡単に扱うための仕組みです)を使うことが結びつかないのです。
 アプリケーションは、起動されると、「電源断または強制終了まで処理が続」きます。つまり、メモリに常駐しているわけです。中ではいろんなスレッドが動いていますが、開発者が明示的にスレッドを作る必要はありません。
 また、16ビット時代と違い、NT Technorogy な OS では、1つ1つのアプリケーションが独立したメモリ空間を割り当てられ、他のアプリのメモリに干渉することはありません(普通に作れば)。
 なので、「どれを使うのがメモリ消費が少なくてすむ」のか、気にする必要はありません。

[ メッセージ編集済み 編集者: Jitta 編集日時 2007-04-26 22:43 ]

引用:

繰り返しますが、アプリケーションの使徒、目的はまったく関係ありません!
揚げ足とりばかりで、本来の質問を見ていないと思います。


目の前の目的にばかり気を取られ、質問に至った問題の本質的を見ていないように思います。

[ メッセージ編集済み 編集者: Jitta 編集日時 2007-04-26 22:44 ]

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