ThreadA sinyal ThreadB bazı olay olması uygun teknik, nedir ThreadB bir olay gerçekleşmesi için bekleyen bloke oturmak? Paylaşılan bir Listeyi dolduracak bir arka plan iş parçacığım var <T>. Asılsız olarak "ana" iş parçacığı tarafından alınacak veri olduğu sinyalini bulmaya çalışıyorum.
i bir EventWaitHandle nesneyle bir etkinlik ayarlama kabul ama benim ana iş parçacığı bir Event.WaitOne oturan olamaz(). i bir temsilci geri arama sahip kabul
ancak a) i temsilci işi ana iş parçacığı istemiyorum: iplik fazla şeyler ekleyerek işe geri almak gerekiyor - bunu istemiyoruz Temsilci yürütürken bekler ve b) temsilci ana iş parçacığı üzerinde ayarlanmış olması gerekir, ancak bir UI çalıştırmıyorum, Denetim yok. Delegeyi karşı karşılayın. i kabul
basitçe (zamanlayıcı Senkronize iplik erişimli) sıfır aralık System.Windows.Forms.Timer başlatan bir temsilci geri arama var. o
Timer.Enabled = true;
çağırır ama bu kesmek gibi görünüyor gibi bu şekilde iplik sadece sıkışmış gerekmektedir.
Eski günlerde, nesnem gizli bir pencere oluşturmuş ve iş parçacığı bu gizli pencerelere HWND mesajlarını göndermişti. Gizli bir kontrol oluşturmayı düşündüm, ama yapamayacağımı topladım. Ayrıca, UI'm yok: Nesnem bir web sunucusunda, hizmette veya konsolda oluşturulmuş olabilir, grafiksel bir denetimin görünmesini istemiyorum - ne de System.Windows'daki bağımlılığı derlemek istiyorum. Formlar.
benim nesnesi, bir ISynchronizeInvoke arabirim sahip kabul ama sonra .Invoke (uygulamak gerekir) ve bu benim sorunum.
bloke oturup bir olay gerçekleşmesi için bekleyen iş parçacığı B kalmadan bazı olayın bir sinyal iplik B iplik olması doğru tekniği nedir?