C # Должен ли я создать один фоновый работник или многие?

Я один из этих случайных программистов, поэтому у меня нет столько знаний о программировании наилучшей практики.

У меня есть приложение, которое в настоящее время использует 4 фоне фона.

Так что я объявляю их:

private BackgroundWorker bw1;
private BackgroundWorker bw2;
private BackgroundWorker bw3;
private BackgroundWorker bw4;

затем настроить их:

bw1 = new BackgroundWorker();
bw1.WorkerReportsProgress = true;
bw1.DoWork += new DoWorkEventHandler(bw1_DoWork);
bw1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw1_RunWorkerCompleted);
bw1.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);

bw2 = new BackgroundWorker();
bw2.WorkerReportsProgress = true;
bw2.DoWork += new DoWorkEventHandler(bw2_DoWork);
bw2.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw2_RunWorkerCompleted);
bw2.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);

bw3 = new BackgroundWorker();
bw3.WorkerReportsProgress = true;
bw3.DoWork += new DoWorkEventHandler(bw3_DoWork);
bw3.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw3_RunWorkerCompleted);
bw3.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);

bw4 = new BackgroundWorker();
bw4.WorkerReportsProgress = true;
bw4.DoWork += new DoWorkEventHandler(bw4_DoWork);
bw4.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw4_RunWorkerCompleted);
bw4.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);

, а затем я использую BW1.RunworkerAsync (), BW2.runworkerasync (), и так далее ...

вещь, которую я никогда не звоню Их одновременно они называют различными точкой довольно линейным образом.

Итак, мой вопрос, лучше ли иметь много «предварительно настроенных» фоновых работников или иметь один и изменить дно доскочки и RunWorkerCompleted события в соответствии с тем, что я хочу сделать это?

24
задан Alex 13 September 2011 в 18:48
поделиться