I don't know if Boost is the best way, or that you could even claim there is a best way. What I do is use what ever method is provided by the libraries I currently have loaded, so if I was already working with Boost then of course I would use that, but if I was working primarily with SFML or Win32 then I wouldn't load the Boost library when the other two provide perfectly functional methods of multithreading.
What is it you're trying to do? It's not really important as your question has already been answered twice, but I'm always being nosey.