当前位置: 技术问答>linux和unix
LINUX内核高手帮帮忙
来源: 互联网 发布时间:2016-04-06
本文导语: 请问LINUX核心到底能否实现真正的多线程(并行处理), 也就是A,B两个程序真正的同时运行(多CPU情况下)。 感觉介绍的所有多线程函数都需要睡眠才能运行,所以内核根本不能真正的多线程。 如果真的能,那么...
请问LINUX核心到底能否实现真正的多线程(并行处理),
也就是A,B两个程序真正的同时运行(多CPU情况下)。
感觉介绍的所有多线程函数都需要睡眠才能运行,所以内核根本不能真正的多线程。
如果真的能,那么如何使用,请大体的介绍下。
也就是A,B两个程序真正的同时运行(多CPU情况下)。
感觉介绍的所有多线程函数都需要睡眠才能运行,所以内核根本不能真正的多线程。
如果真的能,那么如何使用,请大体的介绍下。
|
好像不能,在2.6的内核上,线程是不能在两个CPU上进行调度的,也就是只能在一个CPU上分时调用,如果你一定要用多CPU的优势的话,就用多进程处理,用并行计算的思路
|
2.6上可以的,用set_cpu_allow() (函数名可能有点忘了)将线程绑定到不同的CPU上运行。
|
可以。
楼主问的如何使用是什么意思?set_cpu_affinity?
楼主问的如何使用是什么意思?set_cpu_affinity?
|
可以用sched_getaffinity获取,sched_setaffinity设置。
能不能并行,跟应用实现有关。
能不能并行,跟应用实现有关。
|
2.6后是可以的,不用设置,绑定cpu只是说只在他在指定的cpu上运行.