2010-03-10 16 views

cevap

2

Her bir göreviniz için bir BackgroundWorker örneğini kullanabilirim. Ancak, aynı delege yöntemini birkaç farklı iş parçacığında birkaç kez çağırabileceğinizi unutmayın.

Uzun bir yöntem görev başına bir BackgroundWorker'ı alarak, yöntemleriniz üzerinde çok fazla kontrole sahip olacaksınız. Dahası, benim anladığım kadarıyla, bir BackgroundWorker'ın bir örneği bir görevi yerine getirdiğinde, bu arka plan göreviyle meşgul olur ve bu nedenle başkaları için kullanılamaz hale getirir. Belki de yanıltıcı olabilirim, ancak DoWork() olay işleyiciniz sadece bu BackgroundWorker için yapması gereken şeyi yapabildiğinden, bunu yapmamın yolu budur. Bu yüzden, BackgroundWorker'ın yalnızca bir örneği için tamamen farklı görevleri yerine getirmem imkansız görünüyor.

Bu yardımcı olur mu? Özetle

+0

Evet, bu yardım. Uzun metotlarım ardışık koşular yok. Seni tavsiye ederim. Kötü ingilizce için üzgünüm ... – wallybh

+1

Rahatsız etmeyin, ben francophone'yum! = P Hehehe ... –

+1

Belki de bu, uzun süredir devam eden uzun-çalışma-metodunu bölündüğünüzde çok daha küçük parçalara bölünür ve küçük parçaları diğer çoklu BackgroundWorker'lara bölerseniz yardımcı olabilir. Her şey, ne demek istediğimi görürseniz, bu yöntemlerin daha küçük kod parçalarına çiğnenmiş olmasına bağlıdır. –

2

: Bir BackgroundWorker

avantajları:

  1. birden fazla yöntemi için yürütme sırasını kontrol eder. Bununla birlikte, bu aynı zamanda bir dezavantajdır, çünkü birden fazla BackgroundWorkers kullanırsanız, "varsayalım" diyorlar;

  2. İplik oluşturma ve imha etme için daha az ek yük (mümkünse, her defasında aynı örneği kullanın, ancak bu, işlemin başlamasına bağlı olarak her zaman mümkün değildir. Eşzamanlı olarak yapılmasını sağlamak mümkün değildir);

  3. İplik arasında iletişim kurmak isterseniz, toplu iletişimi biriktirebilir ve daha verimli bir şekilde yapabilirsiniz. Ayrıca, tüm yöntemler aynı iş parçacığında çalıştırılırsa, bu iletişimden bazılarını kurtarabilir. Birden BackgroundWorkers içinde

avantajları:

  1. yukarıda belirtilen paralellik;

  2. Her işlem sonunda başka bir temsilci kullanabilir ve bu nedenle başka bir işlem yapabilir.

Umut eder!

İlgili konular