Can you use boost :: mutex libraries to protect a critical section of code when you are not using boost :: thread, but use the MFC streaming capability through AfxBeginThread instead? If so, are there any problems with this?
A (real) stream is a (real) stream.
Boost makes no special assumptions that the stream was created directly (Windows API) or through Boost.
Short answer:
No problems.
Yes, you can. No problem, since both use the Win32 API backstage.