parçacığı ben olduğunu varsayalım. Sonra ne olacak: işlem bitti ve daha sonra başka bir etkinlik başlatıldı veya belki yeni olay hemen yeni bir iş parçacığına mı atıldı?olay ve
olay ve
cevap
Kabul etmemelisiniz. Olay türüne göre (ethernet_adapter
nesnesinin) bağlı olarak her şey olabilir. o senkronize işlemler, cari işlem devam dek
, yeni olay gündeme edilmeyecektir. o uyumsuz işlem ise
, yeni olay anında artırılacaktır. (Sizin örnekte olduğu gibi)
protected virtual void OnPacketArrived(PacketArrivedEventArgs e)
{
EventHandler<PacketArrivedEventArgs> handler = this.PacketArrived;
if (handler != null)
{
handler(this, e);
}
}
Elveda işleme senkron abone tüm abonelere üzerindeki iç numaralandırma engeller:
Bu, senkronize bir işlemdir. Başka bir iş parçacığı üzerinde gerçekleşecek tek yol, olayı yükselten nesnenin başka bir iş parçacığında ya da işleyicide yapmasıdır. Bunu yapmak için çeşitli yollar vardır, ancak .NET 4.
Kullanılıyorsa, genellikle System.Threading.Tasks.Task
kullanılması tercih edilir. Uygulamanızın nasıl davranmasını istediğinizi dikkatlice düşünün. Her paketin yeni bir iş parçacığı üzerinde işlenmesi, paketlerin sırayla işlenmesine neden olabilir. Onları sıraya koymak ve bu noktada onları işlemek için bir arka plan iş parçacığına sahip olmak isteyebilirsiniz. Veya hiç bir şey yapmanıza gerek olmayabilir. followes olarak
Eğer ThreadPool'da bütün görevi sıraya ekleyebilirsiniz. Her iş parçacığı için görev (.net 4.0) oluşturabilir veya .
Söylentilere ethernet_adapter
sınıfında bir yöntem yoktur. FAKAT! ethernet_adapter
, her seferinde farklı bir iş parçacığı üzerinde çağırırsa, OnPacketArrived
numaralı çağrıları engelleyemeyebilir - böylece iki eşzamanlı uzun işlem ve benzerleri elde edersiniz.
Örnek olarak, Socket
uygulamasına bakın: bu, eşzamansız yöntemler, IOCP iş parçacığı üzerinde başlatılacak geri çağırma geri çağrılarına neden olur - IO ThreadPool
'da her seferinde farklı olarak.
- 1. fullCalendar - Olay başlığı ve detay
- 2. Windows Olay Görüntüleyicisi ve log4net
- 3. Typescript ve JSX ile olay olay işleyicileriyle tepki verme
- 4. Javascript: Soundmanager2 ve Soundcloud olay geri bildirimi
- 5. Dialog'da olay ve UI parametreleri nelerdir
- 6. Backbone.js ve jQuery ile olay bağlama tıklamaları
- 7. Symfony2 özel olay dağıtıcısı ve dinleyicisi
- 8. Olay temsilci ve pencere ile window.document
- 9. Mysql olay zamanlayıcısı nasıl silinir ve değiştirilir?
- 10. Olay işleme jQuery unclick() ve unbind() olayları?
- 11. jQuery sürüklenebilir haline döndüğünü ve olay
- 12. Akka Persistence Query olay akışı ve CQRS
- 13. jQuery özel olay verileri (abone ve tetikleyici)
- 14. Better PropertyChanged ve PropertyChanging olay işleme
- 15. Adsız Olay İşleyicisi Ekleme ve Kaldırma
- 16. node.js olay kuyruğunu ve process.nextTick'i anlama
- 17. React bağlama ve olay nesnesine erişimi koru?
- 18. Her iki olay ve logstash girdisi
- 19. Grafik API kullanarak Olay için Olay Ayarlama
- 20. backbone.js Olay
- 21. bu olay
- 22. Olay dinleyicileri?
- 23. Java Tek Bir Olay İçin Tek Bir Olay Kaynağı için Çoklu Olay Dinleyicilerini Salıncak
- 24. Python işlem başına Asyncio olay döngüsü (aioprocessing, çoklu olay döngüleri)
- 25. Github itme olay imza
- 26. olay dinleyicisi pencereden ayarlanmış bir olay dinleyicisi kaldırmak gerekir
- 27. jQuery'de bir olay zorla
- 28. python: çok işlemcili Olay
- 29. jQuery .tap olay çalışmıyor
- 30. Olay işleme API'sı?
Ne tür bir nesne 'ethernet_adapter' nedir? –
@JimMischel bu bir üçüncü parti kitaplık türü 'ICaptureDevice'. Sanırım cevabı aldım. – ren