超级用户 发表于 2003-6-13 08:31:23

线程?

教科书上说,由用户空间管理线程在速度上比由内核管理的快得多!

但是为什么Linux下有了(不少)用户空间的线程包,为什么还说有了一个内核管理的线程
库后速度提升很大?这和SMP又有什么关系?

谢谢!

Dragonfly 发表于 2003-6-13 08:37:07

user space thread is faster in context switch than kernel thread

kernel thread is faster than kernel process.

smp can run several threads at the same time. up only run one at one time.

jjww 发表于 2003-6-13 09:35:11

你说的用户线程,是由多线程包的调度器(UTS)控制,可以容易的实现m-1,在内核里其实质是一个进程,只有一个pid;为了更好的在SMP上运行多线程程序,需要内核对UTS支持,才能更好的提升效率。比如一个4-node SMP, 如果能够将一个用户多线程对应称m-4,这样,这个多线程就4个在内核级别调度的单位,这就需要内核支持了。按传统的,在SMP上,原来的多线程还是只有一个竞争单位。不知道将清楚了没有... :wink:

Dragonfly 发表于 2003-6-13 09:40:47

hehe, jjww is right

超级用户 发表于 2003-6-13 15:59:46

一群搞飞机的高人,真厉害!!

哈哈!佩服!谢谢!!

Dragonfly 发表于 2003-6-13 21:49:11

一群搞飞机的高人,真厉害!!

哈哈!佩服!谢谢!!

en? no idea on what u said. what do u mean?
页: [1]
查看完整版本: 线程?