If you're involved in the game industry then you should know that just because the technology is out there doesn't mean it's cheap to license or even available for a particular platform. 1970's is pushing it way back. If that was true then it should have been no problem for the Sega Saturn or any other platform in the 90's that could use multiple CPU's, but it was an issue because there was no developer support or people didn't want to program games in FORTRAN to take advantage of multiprogramming. OpenMP goes way back to the 1990's but by 1997 we had exactly one fully compliant C++ compiler, cross-platform C++ was a joke, and half the libraries didn't compile here or there or were not lean enough for or supported features that were not practical on embedded or game systems. Library support in general on game platforms, even the devkits, sucked ass all the way through the playstation 2, in particular at launch.
I remember using a set of macros that let you define blocks of C code that could run in separate threads, but it wasn't cross platform at all. There were other products that were too bloaty or we could not incorporate into a game without violating licensing with either the library or with any of the platforms. Nobody I knew was even using C++.
Basically starting in around 2006 as you said, because the PC platform as you said was starting to become multi-core, was when it started that you had all the libraries you might need, C++ was commonly used on every platform, code was pretty portable. Even now it is totally realistic to license a game engine that is still single-core for your game that predated 2003 in origin, like Unreal Engine. What I am getting at is that now is the multiprogramming time, and it didn't really start becoming practical until we got to the convergence C++ ubiquity, C++/library portability ubiquity, C++ feature ubiquity, multiprocessing library ubuiqity, multiprocessing platform ubiquity, and multiprocessing engine ubiquity (still not there yet but close.)
I am not considering client-server and offloading stuff like network/sound to other threads/processes because if you were on a platofrm that supported that that already had been capable for a long time and that is not the stuff that it killing your performance. On older single CPU systems using a multithreaded engine was just stupid because even if you shunt off something you need to another thread you are just gonna wait around for the result or drop frames if it took too long. So why bother changing the model to something confusing and unnecessary and just put everything in a single-threaded loop. That's the way everybody had been doing it since forever, and there was no reason to give a shit until recently so why spend all the money and time. Well as you said, the time is now, and things are changing. But I think saying things like it's been possible FOR THE GAMING INDUSTRY since the 1970's is just ridiculous. I can't see any reason why anybody should have cared until the last couple of years.