Gestione Processi comunicanti

venerdì 23 febbraio 2007 - 14.19

hellamasta Profilo | Newbie

Ciao a tutti, la mia domanda è un po' articolata.

La premessa è che devo fare un software che legge dei messaggi da una linea CAN (un protocollo di rete). I messaggi arrivano ad una frequenza fino ad 1 MBit/s. Il tool che devo fare deve poi visualizzare i dati incapsulati in questi messaggi in varie maniere, ad esempio con una finestra ad oscilloscopio, con una finestra di log ecc...
Ovviamente l'aggiornamento della grafica è più lento rispetto alla frequenza di arrivo dei messaggi.
La mia idea è quella di usare un buffer circolare condiviso e di creare processi diversi per le varie operazioni; di sicuro un produttore che legge i messaggi dalla rete e li mette nel buffer (+ veloce) ed uno che legge i dati dal buffer e li passa alla gestione grafica (+ lento).
Domande:

1- E' meglio fare un multi-threading o un multi-processo gestito mediante le librerie del kernel?
2- Secondo voi quale può essere la gestione più intelligente della memoria condivisa dai processi?

Vi ringrazio da subito per l'eventuale aiuto.

Ciao
Alessio "hellamasta" Bolognesi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5