Cores, processes, CPUs, threads, hyperthrading, connections -- they are mostly interchangeable at this level of discussion.
MySQL has always been able to handle multiple connections and keep things straight. Back in the single-core single-cpu days, two connections would start up two threads (or processes, depending on OS details) and run seemingly simultaneously. With 12 CPUs / 24 cores, the 'only' difference is that there is now less contention for CPU resources.
But... One connection will use only one core. This may explain what you are seeing. 100 connections may use (and share) all 24 cores.
So, if you question is really about "parallel processing" where one connection uses multiple cores, the answer is "no" in all versions of MySQL/MariaDB. (A slight exception: InnoDB has some 'helper' threads that run in the background, possibly making use of more cores.) This still applies in the hot-off-the-press version 8.0.
In my experience, a dedicate MySQL server rarely goes past one core's worth of CPU resources. When it does, there is probably a query that needs a better index, or something else.