Zaman uyumsuz bir işlem (bir dizi ağ IO'ları) üzerinde bir zaman aşımı uygularım ve hangisinin 'daha iyi' (tahsisatlardan/performanstan) bir perspektif olduğundan emin değilim: EventWaitHandle ve RegisterWaitForSingleObject kullanarak veya sadece bir Timer oluşturma ve Tick kullanarak..Net Zaman Aşımları: WaitForSingleObject ve Zamanlayıcı
Benim özel durumumda EventWaitHandle tembel oluşturuldu, ancak açıkçası WaitForSingleObject kullanmak için başlatılması gerekir. Yani gerçekten bu bir WaitHandle + WaitForSingleObject vs bir Timer kaynak maliyeti hakkında bir sorudur. Her iki yaklaşım da uygulanması kolay.
Her ikisini de çeşitli zamanlarda uyguladım, bu yüzden araziyi anlıyorum, hangi yaklaşımın 'daha iyi' olduğundan emin değilim.
Onun blog makalenin a Kullanımların iyi bir karşılaştırması, ancak diğerine karşı lehine çok güçlü bir öneri yoktur. Ve bunu düşündüğümde, çekirdek geçişleri ve benzerleri açısından bir fark göremedim. Altta yatan Win32 API'sinde herhangi bir maliyet farkı olup olmadığını bilmek isterdim, ancak .net uygulamasının 'weight' değeri de bulduğum en iyi cevap gibi görünüyor. – piers7