Is it a good idea? Yes, these days multiple threading is considered normal and expected and the overhead of starting and cleaning up a thread is no longer considered overly expensive in general outside of some embedded applications.
The question then becomes how do you do it and that very much depends on what framework, libraries and compiler you're using.
Current theory says you should use C++11 threads from a C++11 standard library with a C++11 conformant compiler and you're done. However there are no C++11 conformant compilers, C++11 threads are still more of a specification than a reality in many parts and good luck finding a standard library that both implements them correctly and documents how to use them.
Failing that then you're left with Win32 Threading API, or Qt Thread classes or Intel threading primitives or POSIX threads or one of many other threading helpers wrappers and abstraction layers which assuming you're on Windows all map down in the end to Win32 API functions like CreateThread, SuspendThread, GetThreadId.
Then of course you could bend your specification of C++ and look at .NET or WinRT threading APIs about which I know little.
Once you've picked your threading technology stick to it, don't try to mix them unless you want a serious headache, and look for examples/tutorials related to that threading tech here on CP or elsewhere. Beware if you're just starting with threads they are the hardest part of programming, even many example programs will have subtle flaws. It's worth the effort though to be able to do two things at once