In Oracle 12c, when running DBMS_STATS to gather statistics on a partitioned table,we can (finally) gather statistics on all (or at least some) partitions at the same time.
Oracle will create job for each partition and run them simultaneously. It will take into consideration the server resources and will decide how many jobs to run at the same time. Once one job is completed, another job will start until the entire table is analyzed.
To do that, we need to turn on the CONCURRENT feature using the DBMS_STATS.SET_GLOBAL_PREFS procedure. We can set CONCURRENT statistics gathering only for manual statistics gathering, only for automatic statistics gathering, both both or for none (none is the default).