C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 >>
■12381  Re[4]: スレッドの利用・使い方
□投稿者/ れい -(2008/01/08(Tue) 22:38:20)
    ファイルシステムというのは仕組み上常時監視というタスクは苦手なんです。
    そもそもプロセス間の通信にファイルの存在を用いるのはナンセンスなので、
    パフォーマンスをあげるために常時監視などは考慮されていません。

    無理に実装するとえらく手間がかかってしまいます。
    FileSystemWatcherもきちんと監視できませんし、
    定期的に見るのもうまく行かないときがあるし。

    常時監視はダメな方向なので、私はほぼ使いません。
    できれば違う方向で考えたほうがいいかと思います。

    でももしやるとするなら。
    話を聞く限りでは監視スレッドと報告スレッドにわける、
    りおさんのやり方がよいであろうと思います。

    スレッドプールからスレッドを拾ってもよいと思いますし、
    BackgroundWorkerを起動してもいいですし、
    独自のスレッドを作っても、大して手間は変わりませんが、
    スレッドプールを使うのが一番楽でしょう。

    スレッド処理に慣れていないのでしたら
    自分でスレッドを作るのが良いと思います。
    スレッドプールもBackgroundWorkerも、
    スレッドをきちんと理解してないと使えません。

    また、BackgroundWorkerはいろいろ嫌な点があるので私なら使いません。

    それと、「報告処理」の内容によっては
    スレッドなど使わないほうがいい場合も多々あります。
    スレッドはいろいろコストが大きいので、(CPU時間とか人的資源とか精神力とかいろいろ。)
    できれば避けるべきです。

    つまり私なら

    ・ファイルの常時監視はなるべくしない。
    ・同時に作業させたいからといってすぐにスレッドに手を出したりしない。

    りおさんのやり方とは完全に逆の方向に舵を取ると思います。

    #いろいろな外部要因で最終的に同じ方向に進むかもしれませんが。
記事No.12362 のレス /過去ログ27より / 関連記事表示
削除チェック/

■47863  Re[5]: DataTableに特殊なフィルタリングをかけたい
□投稿者/ みきぬ -(2010/03/16(Tue) 18:54:12)
    No47862 (オーブ さん) に返信
    > ■No47854 (みきぬ さん) に返信
    >>(条件2) 挿入しようとしている行が、既にある行のキーワードをすべて含んでいる
    >>・条件2 だけ満たす → 既にある行を削除してから挿入
    >
    > この「条件2だけ満たす」は、既にある行すべてをチェックする必要があると思うのですが、
    > これも結構時間がかかりそうですよね。

    条件1と条件2はセットでチェックできると思いますが、
    2件目を挿入しようとする時には1回、1000件目を挿入しようとする時には999回のチェックがいります(類似が1つもなかった場合)
    なので合計すると、1 + 2 + ... + 999 = (1 + 999) * 999 / 2 = 499500 回のチェックがいる、と。

    元の方法だと、DataTable のそれぞれのレコードに対して自身を除いた999回のチェックがいるので、999 * 1000 = 999000回のチェックがいりますよね。
    なのでチェック回数は半分ですむよ、というのが No47844 で書いたことです。

    ただ前にも書いた通り、件数の2乗に比例する(O(n^2))のは私の方法でも変わらないので、根本的に遅いのがどうにかなるわけではないです。
    でも、探そうとしていることが全件検索が必要な類の処理なので、そこはどうしようもないのかなと思うのですが…どうなんでしょうねえ。

    // 以下余談

    ちなみに最良ケース(全件類似している場合)だと、私の処理は 1 × 999 回のチェック(つまり O(n))ですむのに対し、元の処理では 999 + 998 + ... + 1 = 499500 回のチェックがいる(つまり、やっぱり O(n^2))ので、類似するデータが多いほど効果は大きいんじゃないかなと思います。
記事No.47826 のレス /過去ログ81より / 関連記事表示
削除チェック/

■57654  Re[1]: VC++のアイコン
□投稿者/ 774RR -(2011/03/07(Mon) 21:13:23)
    アイコンリソース上、ひとつのアイコンには実は複数個の大きさがあって、別絵柄。
    16x16, 32x32 とか
    アイコンエディタ上で大きさを選択しないと別サイズのアイコンが出てこないのだが
    その辺ちゃんと全部の大きさを編集した?
    アイコンファイルを上書きしちゃった、ってことは別サイズのアイコン描きもれ?
記事No.57650 のレス /過去ログ97より / 関連記事表示
削除チェック/

■99500  Re[3]: USB カメラ
□投稿者/ くま -(2022/04/19(Tue) 18:55:55)
    くまさん、すみません。改名させて頂きます。熊五郎で

    魔界の仮面弁士さんありがとうございます
    ネット上にのっていたソースをうつして使いました

    カメラは4年ほど前に買ったバッファローのWEBカメラで
    ドライバーはパソコンに入れておらず、USBに刺しただけで
    映ったので、いけるかなと思ったらよく見たら反対でした
記事No.99496 のレス /過去ログ173より / 関連記事表示
削除チェック/

■99501  Re[4]: USB カメラ
□投稿者/ 魔界の仮面弁士 -(2022/04/19(Tue) 20:17:10)
    No99500 (くま さん) に返信
    > くまさん、すみません。改名させて頂きます。熊五郎で
    しかし改名はされなかった模様。

    ところで、新規投稿時の注意書きに、
    >> 半角カナは使用しないでください。文字化けの原因になります。
    という表記があったと思います。次回以降、ご留意ください。
    (今回は問題無かったようですが)


    > 魔界の仮面弁士さんありがとうございます
    > ネット上にのっていたソースをうつして使いました
    写した結果、どういうソースになったのかを示して貰わないと、
    何処に問題があるのかを指摘しようが無いんですよ…? (^_^;

    AForge.Video.DirectShow を使うもの、OpenCVSharp3 を使うもの、OpenCVSharp4 を使うもの、
    DirectShowLib を使うもの、SharpDX を使うもの、Windows.Media.Capture を使うものなどなど。
記事No.99496 のレス /過去ログ173より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -