大家好,今天小编关注到一个比较有意思的话题,就是关于电脑cpu线程使用的问题,于是小编就整理了1个相关介绍电脑CPU线程使用的解答,让我们一起看看吧。
cpu的核和线程是什么意思?
简单点说吧,处理器核数(包含超线程数)是一种执行***,***数量就是核数个数。应用程序的线程数就是服务请求数。而操作系统的作用是如果用有限的***来服务好应用程序的请求,这就是进程调度的功能。
一般情况下,服务请求线程会“相对公平”地分配到核上运行,并且在时间片上轮流使用的,即并发执行(不一定是并行执行)。
比如系统有4个核,如果:
1、只有3个线程,那就分配到3个核上运行2、只有8个线程,那就每个核分配两个线程运行3、只有10个线程,那就有些核跑3个线程,有些核跑2个线程相对,这不是绝对的,要看应用程序使用的是什么调度策略,OS是尽量让每个线程的平均等待时间最小化。
如果系统只有4个核,大数值计算的应用,到底是拆成4个线程,还是8个线程,还是12个线程,这些在并行框架里面都有分析,要看你的具体应用计算特征才能知道哪种拆分性能高。
1、CPU的核心数是指物理上,也就是硬件上存在有几个核心。举个例子,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组,等等,依次类推。
2、线程数是一种逻辑的概念,也就是模拟出的CPU核心数。
3、例如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。
4、CPU的线程数概念仅仅只针对Intel的CPU才有用,因为它是通过Intel超线程技术来实现的,最早应用在Pentium4上。如果没有超线程技术,一个CPU核心对应一个线程。所以,对于AMD的CPU来说,只有核心数的概念,没有线程数的概念。
5、CPU之所以要增加线程数,是源于多任务处理的需要。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。
6、要保证这些线程,全都不调用阻塞的API。如果有阻塞,有等待,比如要做输出的话,多开几个线程,可能更合适。
到此,以上就是小编对于电脑cpu线程使用的问题就介绍到这了,希望介绍关于电脑cpu线程使用的1点解答对大家有用。