一段程序,如果最多只能利用有限常数个数的线程,那么它为k-thread的。比如,如果设计一个线程加载资源、一个线程计算、一个线程显示,那么最多能利用3个线程,在一个8核处理器上至少5个核是没有利用的。
而如果一段程序能利用任意多个线程,则被称为n-thread的。比如,在单核机器上是单线程跑,在n核机器上是n线程跑。当然这么说不准确,现实中实际利用线程数经常会大于核数,因为有些线程会因锁、IO等进入阻塞状态。
如果不能支持并行,那么自然就是单线程的了。汗……
一段程序,如果最多只能利用有限常数个数的线程,那么它为k-thread的。比如,如果设计一个线程加载资源、一个线程计算、一个线程显示,那么最多能利用3个线程,在一个8核处理器上至少5个核是没有利用的。
而如果一段程序能利用任意多个线程,则被称为n-thread的。比如,在单核机器上是单线程跑,在n核机器上是n线程跑。当然这么说不准确,现实中实际利用线程数经常会大于核数,因为有些线程会因锁、IO等进入阻塞状态。
如果不能支持并行,那么自然就是单线程的了。汗……