こんにちはみんな私はデータベースのインターフェースとして機能するwinformを持っています。ある時点で、ユーザーは 30 ~ 40 個のファイルを含むディレクトリを選択します。これらのファイルは、生データとしてデータベースに挿入する必要があります。それはそのままです。次に、その生データが中断され、修正されます。これが完了すると、ユーザーは固定データを 1 つの Excel ファイルにダンプできます。これは、リリース モードまたはデバッグ モードでビジュアル スタジオで実行しているときに完全に機能します。ただし、ビジュアル スタジオの外で (つまり、bin/release ファイルから) フォームを実行しようとすると、停止して応答しなくなります。遅くなっても私もユーザーも気にしません(約6万件のレコードが印刷されます)。しかし、なぜそれは機能しなくなります。私はそれが応答を停止し、デッドロックのように見えない部分を考え出しましたか? それを改善する方法についてのアイデアをいただければ幸いです。
質問する
113 次
1 に答える
3
そのすべての処理を別のスレッドで行う必要があります。BackgroundWorker の使用をお勧めします。
クラスに関する情報は次のとおりです - http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
使用方法の例を次に示します - http://fernandof.wordpress.com/2007/04/04/implementing-multi-threading-in-winforms-using-the-backgroundworker-class/
于 2012-04-06T19:30:54.787 に答える