.NET Framework 4以降を使用している場合は、タスクを使用できます。あなたはTask Parallel Libraryを使用するか、明示的にスレッドを使用することができますいずれかの.NET Frameworkの古いバージョンを使用している場合
Task writeTask = Task.Factory.StartNew(() =>
{
// Write to file
}).ContinueWith(previousTask =>
{
// Update the UI
});
:次に、あなたはまた、完了時にUIを更新するためにContinueWith
方法を利用することができます。
あなたはどちらか新しいものを作成したり、スレッドプールを使用してこれを行うことができます。
Thread thread = new Thread(() =>
{
// Write to file
});
// Make the thread a background thread if you want it to be aborted
// when the main thread is stopped, i.e. the application is closed:
thread.IsBackground = true;
thread.Start();
- 私は新しいスレッドを作成する上で、スレッドとスレッドプールの上にタスクを使用して好む
ThreadPool.QueueUserWorkItem(state =>
{
// Write to file
});
私見。ただし、スレッドプールを使用しても、直接実行することは保証されませんが、スレッドプールスレッドが使用可能になった場合は、注意する必要があります。
これは別のスレッドで行います –
私は通常、BackWorkerプロセスで実行します。トマスが推薦したのと同じです。 – jdweng
ファイルを開いていないとUIがフリーズしません。どこかでループしているので、UIがフリーズします。 – pm100