Try
ACE[
^]
As you can see from this page:
ACE, TAO, and CIAO Success Stories[
^], ACE have been used in some fairly serious "real" applications - it also supports working with MFC - and it's well documented, including numerous examples illustrating how to do just about anything you are likely to require when it comes to multithreading, synchronization and socket programming :)
Regards
Espen Harlinn