この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 21695|答える: 1

[出典] .net/c# プログラムを下重にするイベントには注意してください

[リンクをコピー]
掲載地 2016/09/21 16:05:58 | | | |
イベントはメインスレッドで読み込まれ実行され、最初のイベントが完了していなければ、他のプログラムと同様に2つ目のイベントに進みます。前のイベントの処理が終わるのを待ってから、次のプログラムや他のイベントを処理します。




上記は、私自身がある物体をカプセル化し、そのオブジェクトの中で私自身が出来事をカプセル化したというものです。

私はイベントのサブスクライブ方式でデータを処理しています。例えば画像注釈部分などです。

なぜなら、私が購読したイベントはread txtファイルで、私のtxtファイルは50,000行あり、イベントメソッドが50,000回トリガーされたからです。

そしてプログラムを実行したところ、インターフェースが一時停止状態にあり、何か問題があると確信しました。

最初は、偽の死亡を引き起こしたのはUI操作の操作だと思っていました。

そして段階的に、データセットに加えた時点ですでに停止状態に入っていることが判明しました。

なぜでしょうか。。。 ついにインターネットで調べたところ、イベントはメインスレッドにあり、最初のイベントが処理されなければ次のイベントの実行がブロックされると知りました。

私は自分が命令した内容を概ね理解していました。率直に言えば、5万回のイベントでプログラムがブロックされ、その後は休眠状態に入りました。

解決:

多くのイベントメソッドを実行しない単純なイベントの場合、直接イベントメソッドに書き込むことができます。

大量のイベントメソッドが呼び出された場合は、ソケットやhttplistenerなどに対応するスレッドを開いてみてください。(データ量が少なく見えませんが、一度大量になるとすぐに死んでしまいます、笑)




先の:C#はメールアドレスコードを一括生成します
次に:クラウドブロードキャストプレイヤー解析、ThunderboltおよびQQの旋風インターフェース解析
掲載地 2016/09/22 9:23:17 |
誰かがとても良い投稿をしてくれました、サポート
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com