1. A processor comprising: a plurality of cores to execute a plurality of threads; a plurality of counters to collect data related to the execution of the plurality of threads on the plurality of cores; dependency analysis logic to analyze the data related to the execution of the threads and responsively determine a level of inter-thread dependency; and control logic to responsively adjust operation of the plurality of cores based on the determined level of inter-thread dependency.