ここから本文です

C#のexeで処理が止まる

アバター

ID非公開さん

2018/11/1715:37:43

C#のexeで処理が止まる

Visual Studio2017(以下、VS)で作成したexeが途中で一瞬止まります。(1〜2秒ぐらい経ったら動く)
VS上で実行した場合には起きませんでした。

exeファイルの実行とVS上での実行では何か挙動が変わるということはあるのでしょうか?

ちなみに処理内容としては、async awaitを用いてラベルのテキストを高速で切り替えるという処理を行っています。

閲覧数:
55
回答数:
2
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

qui********さん

2018/11/1719:46:51

私もあまりまだ把握していないのですが、

> async awaitを用いて
非同期処理は非同期に処理をするということを保証しているだけであって、
スレッドプールがどうとかこうとかで、使えるスレッドが空くまでキューで待たされたりするんだとか。
で、リソースモニターでスレッド数を見たりしながら、ThreadPool.GetMinThreads()やThreadPool.GetMaxThreads()を増やしていくとスムースに動いたりしそうな気がします。

アバター

質問した人からのコメント

2018/11/18 01:42:11

質問には書いていなかったのですが、その少し前でエクセルを高速で開け閉めしてたのがダメだったみたいです。。

それでスレッドが空くまで待ってたことで今回の現象が起きたのかなーと思いました!

根本原因に近そうだったのでこの回答をベストアンサーとしますが、皆さまありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

kak********さん

2018/11/1716:07:51

プロジェクトのプロパティ → ビルド → 全般 → 「コードの最適化」がチェックされているとデバッグビルドとリリースビルドで処理順序が変わることがあります。
コードの実行順序が重要な場合は最適化のチェックはOFFにされることをお勧めします。

参考ページ
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28245&forum...
https://ufcpp.net/study/csharp/sp_thread.html

「async await、処理」に関する質問

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる