|
|
发表于 2005-11-28 21:37:20
|
显示全部楼层
建议看英文
英文原版里是generally slower
少了一个词,意思就变了
事实上在使用nptl线程库的Linux里
这一点是不成立的
因为是1:1的关系
创建一个用户线程必定要创建一个相应的内核线程(task_struct)
在一个进程内创建第二个及以上线程的时候,应该会比创建单线程的进程速度快一些,因为会共享task_struct.mm等,但是不能bypass创建内核里的task的过程
而且创建内核里的task的时间也不是一个常量,clone的flags的不同导致共享的程度不一样
所以也不能笼统的说谁快谁慢
如果是内核里用来处理一些需要睡眠的任务的那种内核线程,比如events/n, ksoftirqd/n
创建速度反而应该会更快一点,因为mm为NULL |
|