You need much time to understand the pcsx2 code without that you cannot start changing core things. I am programming since some years. But I donīt think I am on a point to understand such a complex and complicated building

.
I think you can do multithreading everytime. But often the implementation is so complicated and the effort you have to do slows the process so much down that it isnīt any faster at the end

.
I think there arenīt many games because the technology of multi core cpu's is new and game engines were build 2-5 years before you can buy the game. You will see in the future all games that based on good graphics have a good multi thread implementation.