This paper firstly proposes one of the problems software applications faced by in the era of multi-core CPU: task decomposition and scheduling, and then analyzes a current scheduling algorithm together with its shortcomings. On the basis, an optimized algorithm is given. The optimized algorithm reduces the error and improves the accuracy. It is easier to achieve the calculation load balance of multi-core CPU. Finally, a multi-core platform is build using Simics system simulator, and the optimized algorithm is tested on this platform. Experimental data proves the superiority of the algorithm.