求助linux内核多线程问题
低调华龙 2008-07-22 11:13:06 是不是 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实现多线程可能要使用线程绑定,
请高手们指点一下,这个问题本人非常着急解决,如何描述的不够清楚请留言,我会继续描述。谢谢