对linux多线程的一些疑问

C++语言 码拜 4年前 (2016-09-25) 407次浏览
最近在看unix网络编程,于是发现多线程这一模块。
很好奇的是,在创立一个多线程之后,例如本人创建了4个线程,计算机为四核。假定都为空闲状态。
那么这四个线程会自发的进行并行操作吗?直接把这4个cpu都进行占用了呢?还是只占用1个,进行上下文之间的切换?
题主将来想做服务器这一块,尤其是游戏。这肯定涉及到线程的并行,能做并行常用的有(opencL(gpu并行),cuda(N卡GPU处理),openmp(cpu并行处理),mpi(分布式处理))。
是应该看哪一个框架好一点?感觉GPU的并行计算能力很强啊,最近近了一个校企的实验室,在做GPU并行算法。发现GPU在计算上能力比CPU还是要强几个量级。服务器的并发一般会用到哪一些的框架开发?
解决方案

25

除了你的进程还有其他进程,
由系统根据情况动态调整

15

参考Linux线程调度相关功能对应的源代码片断。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明对linux多线程的一些疑问
喜欢 (0)
[1034331897@qq.com]
分享 (0)