Efficient utilization of multi-core computers with shared memory depends on many factors. In this article efficiency of multi-core computers with shared memory is investigated. All computer cores execute either parallel streams of a single program, developed in accordance with the OpenMP API, or independent programs. There are no interactions between streams and independent programs. Both parallel and non-parallel (single stream) applications share memory where conflicts may occur. Models for determining the acceleration coefficients of a multi-core computer, analytical expressions which reflect the dependence of the acceleration coefficients on the number of cores, the properties performed the programs, cores and shared memory parameters and formulas for determine recommended numbers of cores for parallel applications in accordance with the OpenMP API are suggested. The main reason for the decrease in performance of multi-core computers with shared memory when parallelizing applications in accordance with the OpenMP API is the overload of shared memory.