
I have a newbie question about using Boost.Thread to invoke a memory fence operation. What are the memory fence guarantees associated with the synchronization concepts in Boost.Thread? My specific use case involves one writer and several readers. For example, something like: bool available = false; int value; // Writer thread value = getValue(); available = true; // A reader thread while (!available) yield(); doSomething(value); In other words, the write to available should have release semantics, and the read from available should have acquire semantics. I realize I can use platform-specific commands, but I'd rather not. I assume that if I want to use Boost.Thread, I'll need to use a mutex, but I don't see any discussion of memory fence issues in the documentation. Thanks, Branko Any information contained in or attached to this e-mail is intended solely for the use of the intended recipient(s), is confidential and may contain information that is legally privileged. If you are not an intended recipient of this e-mail, please notify the sender of the delivery error and then please delete and destroy all copies and attachments, and be advised that any review or dissemination of, or the taking of any action in reliance on, the information contained in or attached to this e-mail is expressly prohibited. See http://www.bankofamerica.com/emaildisclaimer (if this link is not clickable, please copy and paste the link into your browser address bar) for further important information on confidentiality, the risks inherent in electronic communication (including the possibility that e-mail messages cannot be guaranteed to be secure or free of errors or viruses), some of our policies regarding transactions and pricing and certain other matters.