Ho bisogno di scrivere un'applicazione server che recuperi la posta da diversi server di posta / caselle di posta e quindi deve elaborare / analizzare questi messaggi. Tradizionalmente, avrei fatto questo multi-thread, avviando un thread per il recupero dei messaggi (o forse uno per cassetta postale) e poi elaborando i messaggi.
Ci stiamo spostando sempre più verso server in cui abbiamo 8+ core, quindi mi piacerebbe utilizzare questi core il più possibile (e non usare 1 al 100% e lasciare intatti gli altri sette). Quindi concettualmente, ad esempio, sarebbe bello poter scrivere l'applicazione in modo tale che due core siano "ininterrottamente" in grado di recuperare e-mail e che quattro core siano "ininterrottamente" elaborati / analizzando le e-mail (poiché l'elaborazione e l'analisi delle mail è più Intensivo della CPU rispetto al recupero della posta).
Questo sembra un buon concetto, ma dopo aver studiato alcuni modelli paralleli, non sono sicuro di come sia meglio implementarlo. Nessuno dei modelli è davvero adatto. Sto lavorando in VS2012, nativo C ++, ma credo che dal punto di vista del design questo non sia importante e solo alcuni suggerimenti su come organizzare questo sarebbe fantastico!