单线程是一个一个线程顺序执行,一个线程只有当前一个线程执行完之后才能执行。这种方法可以会导致当某个线程等待响应的时间特别长时,下一个线程需要一直等待,而这时CPU处于空闲。
多线程是一个时间段一个时间段的执行各个线程,每个线程之间切换执行,这就不存在上面说的某个线程处于等待时CPU却是空闲的情况,但多线程也会多出线程切换产生的性能开销。
所以当比较单线程和多线程哪个更快时,就是对上面两者之间开销的比较。一般来说多核时多线程的性能更好,单核时单线程更强。
单线程是一个一个线程顺序执行,一个线程只有当前一个线程执行完之后才能执行。这种方法可以会导致当某个线程等待响应的时间特别长时,下一个线程需要一直等待,而这时CPU处于空闲。
多线程是一个时间段一个时间段的执行各个线程,每个线程之间切换执行,这就不存在上面说的某个线程处于等待时CPU却是空闲的情况,但多线程也会多出线程切换产生的性能开销。
所以当比较单线程和多线程哪个更快时,就是对上面两者之间开销的比较。一般来说多核时多线程的性能更好,单核时单线程更强。