最近在看unix网络编程,于是发现多线程这一模块。
很好奇的是,在创立一个多线程之后,例如本人创建了4个线程,计算机为四核。假定都为空闲状态。
那么这四个线程会自发的进行并行操作吗?直接把这4个cpu都进行占用了呢?还是只占用1个,进行上下文之间的切换?
题主将来想做服务器这一块,尤其是游戏。这肯定涉及到线程的并行,能做并行常用的有(opencL(gpu并行),cuda(N卡GPU处理),openmp(cpu并行处理),mpi(分布式处理))。
是应该看哪一个框架好一点?感觉GPU的并行计算能力很强啊,最近近了一个校企的实验室,在做GPU并行算法。发现GPU在计算上能力比CPU还是要强几个量级。服务器的并发一般会用到哪一些的框架开发?
很好奇的是,在创立一个多线程之后,例如本人创建了4个线程,计算机为四核。假定都为空闲状态。
那么这四个线程会自发的进行并行操作吗?直接把这4个cpu都进行占用了呢?还是只占用1个,进行上下文之间的切换?
题主将来想做服务器这一块,尤其是游戏。这肯定涉及到线程的并行,能做并行常用的有(opencL(gpu并行),cuda(N卡GPU处理),openmp(cpu并行处理),mpi(分布式处理))。
是应该看哪一个框架好一点?感觉GPU的并行计算能力很强啊,最近近了一个校企的实验室,在做GPU并行算法。发现GPU在计算上能力比CPU还是要强几个量级。服务器的并发一般会用到哪一些的框架开发?
解决方案
25
除了你的进程还有其他进程,
由系统根据情况动态调整
由系统根据情况动态调整
15
参考Linux线程调度相关功能对应的源代码片断。