1. A multiprocessor system comprising: a plurality of cores configured to execute a plurality of threads, respectively; and a plurality of caches configured to store, for each of the cores, data to be read when the threads are executed by the cores, respectively, wherein a first core of the cores is configured to: read first data from a first cache that is among the caches and corresponds to the first core when executing a first thread of the threads; assign a second core of the cores to execute a second thread that is among the threads and reads the first data; and write the first data into a second cache that is among the caches and corresponds to the second core.