Design patterns for a multithreaded application
I have a multithreaded application. It has four threads, three worker threads for processing continuous data in three phase and one UI thread for display. It's real-time or near real-time application to process data coming from various sensors. It's currently using MFC for UI but I think it does not matter much since I am talking about design.

I am looking for a right architecture or design patterns for this application. I've read [Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects (POSA2)][1] and its example code from the author's web site.


  [1]: http://www.cs.wustl.edu/~schmidt/POSA/POSA2/

But still I can't decide which design pattern(s) would be appropriate for the app among 

 - Leader/Follower 
 - Half-Sync/Half-Async 
 - Reactor 
 - Proactor 
 - Active object

Can anyone give hint or advice?
Design patterns for a multithreaded application
===

I have a multithreaded application. It has four threads, three worker threads for processing continuous data in three phase and one UI thread for display. It's real-time or near real-time application to process data coming from various sensors. It's currently using MFC for UI but I think it does not matter much since I am talking about design.

I am looking for a right architecture or design patterns for this application. I've read [Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects (POSA2)][1] and its example code from the author's web site.


  [1]: http://www.cs.wustl.edu/~schmidt/POSA/POSA2/

But still I can't decide which design pattern(s) would be appropriate for the app among 

 - Leader/Follower 
 - Half-Sync/Half-Async 
 - Reactor 
 - Proactor 
 - Active object

Can anyone give hint or advice?