免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1940 | 回复: 0
打印 上一主题 下一主题

LINUX内核多线程问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-21 21:30 |只看该作者 |倒序浏览
是不是 LINUX内核多线程用kernel_thread函数实现?如果是的话小弟有两个问题希望大家帮助!
1、在单CPU单核情况下 下面函数执行
int 要实现的多线程函数W()
{
   输出1;
  输出2;
  。。。。;
  输出N;
}

int 主函数()
{
  kernel_thread函数调用 上面函数W;
  输出A;
  输出B;
  输出C;
  。。。。;
  输出N;
}
运行结果是  输出1,输出2,输出3,。。。。输出N,然后输出A,输出B,输出C,。。。 输出N;

这样看来 还是单线程啊 ,也就是没有出现抢占CPU的情况,理论来说应该是  输出数字12345日志的中间应该穿插着ABCD..才对啊,这样才表示2个线程都在执行。



2,问题2
在双CPU每个 CPU单核情况下做上面测试
结果还是和 测试1相同,没有出现交叉打日志情况,而且朋友说 双CPU实现多线程可能要使用线程绑定,
请高手们指点一下,这个问题本人非常着急解决,如何描述的不够清楚请留言,我会继续描述。谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP