真搞不懂CPU要怎么认

进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存)

线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源);

在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程。

 1、是否占有资源问题

 2、创建或撤销一个进程所需要的开销比创建或撤销一个线程所需要的开销大。

 3、进程为重量级组件,线程为轻量级组件

多进程: 在操作系统中能同时运行多个任务(程序)

多线程: 在同一应用程序中有多个功能流同时执行

已经有了进程,为什么还会需要线程呢?主要原因如下:

  1. 许多应用程序中,同时发生着多个活动。将这些应用程序分解成多个准并行的线程,程序设计的模型会变成更加简单。
  2. 由于线程比进程进行更加轻量,创建和取消更加容易。
  3. 如果程序是IO密集型,那么多线程执行能够加快程序的执行速度。(如果是CPU密集型,则没有这个优势)
  4. 在多CPU系统中,多线程是可以真正并行执行的。

①、不能以一个文件名的方式独立存在在磁盘中;

②、不能单独执行,只有在进程启动后才可启动;

③、线程可以共享进程相同的内存(代码与数据)。

同一时间,CPU只能处理1条线程,只有1条线程在工作(执行)
多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)
如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象

思考:如果线程非常非常多,会发生什么情况?

CPU会在N多线程之间调度,CPU会累死,消耗大量的CPU资源

每条线程被调度执行的频次会降低(线程的执行效率降低)

①、利用它可以完成重复性的工作(如实现动画、声音等的播放)。

②、从事一次性较费时的初始化工作(如网络连接、声音数据文件的加载)。

③、并发执行的运行效果(一个进程多个线程)以实现更复杂的功能

5、多线程(多个线程同时运行)程序的优缺点

①、可以减轻系统性能方面的瓶颈,因为可以并行操作;

②、提高CPU的处理器的效率,在多线程中,通过优先级管理,可以使重要的程序优先操作,提高了任务管理的灵活性;

另一方面,在多CPU系统中,可以把不同的线程在不同的CPU中执行,真正做到同时处理多任务。

1、开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB),如果开启大量的线程,会占用大量的内存空间,降低程序的性能

2、线程越多,CPU在调度线程上的开销就越大

3、程序设计更加复杂:比如线程之间的通信、多线程的数据共享

与人有生老病死一样,线程也同样要经历新建、就绪、运行(活动)、阻塞和死亡五种不同的状态。这五种状态都可以通过Thread类中的方法进行控制。

① 新建状态(New Thread):在Java语言中使用new 操作符创建一个线程后,该线程仅仅是一个空对象,它具备类线程的一些特征,但此时系统没有为其分配资源,这时的线程处于创建状态。

线程处于创建状态时,可通过Thread类的方法来设置各种属性,如线程的优先级(setPriority)、线程名(setName)和线程的类型(setDaemon)等。

② 就绪状态(Runnable):使用start()方法启动一个线程后,系统为该线程分配了除CPU外的所需资源,使该线程处于就绪状态。此外,如果某个线程执行了yield()方法,那么该线程会被暂时剥夺CPU资源,重新进入就绪状态。

③ 运行状态(Running):Java运行系统通过调度选中一个处于就绪状态的线程,使其占有CPU并转为运行状态。此时,系统真正执行线程的run()方法。

a)     可以通过Thread类的isAlive方法来判断线程是否处于就绪/运行状态:当线程处于就绪/运行状态时,isAlive返回true,当isAlive返回false时,可能线程处于阻塞状态,也可能处于停止状态。

阻塞状态(Blocked):一个正在运行的线程因某些原因不能继续运行时,就进入阻塞 状态。这些原因包括:

  • 等待阻塞:当线程执行了某个对象的wait()方法时,线程会被置入该对象的等待集中,直到执行了该对象的notify()方法wait()/notify()方法的执行要求线程首先获得该对象的锁。
  • 同步阻塞:当多个线程试图进入某个同步区域(同步锁)时,没能进入该同步区域(同步锁)的线程会被置入锁定集(锁池)中,直到获得该同步区域的锁,进入就绪状态。
  • 其他阻塞:运行的线程执行sleep()或join()方法,或者发出了I/O请求时,JVM会把该线程置为阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。

⑤ 死亡状态(Dead):线程在run()方法执行结束后进入死亡状态。此外,如果线程执行了interrupt()或stop()方法,那么它也会以异常退出的方式进入死亡状态。

7、终止线程的三种方法

① 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止,推荐使用。

② 使用stop方法强制终止线程(这个方法不推荐使用,因为stop和suppend、resume一样,也可能发生不可预料的结果)。

    你把风扇反过来拍一张,然后放cpu的主板那里再拍一张,

    不会缺,现在就是风扇装不上去
    主板上有四个孔,对应风扇的四个角,
    对的,但是就是锁不下去
    肯定缺东西,主板上没有螺丝孔,
    待会发个图片给你,现在比较忙
    压下一个,去压第二个就弹起来了

    你好,这种拧螺丝的散热器,主板下面都有个架子,类似螺母的东西,要不然就是一个类似螺母的卡扣,4个配件要插到主板上固定好才能上螺丝。

    你看到那四颗螺丝了么,在找到处理器旁边四角对应的四个洞对其上上去就行了。

    主板上有对应的4个螺栓孔啊,压在CPU上拧紧螺丝插上线排就OK了啊

说是高档对高档低档对低档这种太主观了,有没有具体参数对应的公式什么的?六级的大哥就算说的对实际操作也有问题啊,买来之后才知道配不配还有啥意义啊... 说是高档对高档低档对低档这种太主观了,有没有具体参数对应的公式什么的?
六级的大哥就算说的对实际操作也有问题啊,买来之后才知道配不配还有啥意义啊

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

呵呵呵,这是一个很多人都搞不懂的问题!到底咋样的CPU和咋样的GPU搭建不会存在瓶颈呢?!答案就是U的浮点运算越高越好,做到极高,这样就不会存在谁拖住谁的性能发挥了,但是显卡和CPU之间的平衡点似乎不是每个人都能了解掌握的。要靠大量的测试软件来证实。

小小驳一下楼上四核集显仁兄

打个比方可以说说CPU和显卡之间的瓶颈,就把低端CPU比做一辆5吨位的小车,高中端显卡比做20吨的货物。小车拉货能跑动,那也是慢慢悠悠,挣得屁颠屁颠的【就如AMD5000+配ATI5870】反之用20吨位小车拉5吨货物,车拉起来是轻轻松松,但是车的力量没用多少,对车而言那是浪费,CPU亦是如此,【就如i7和8500GT】

这样打比方有些不合适,但是大致就那么个意思了!

其实想知道自己的显卡和U有没有瓶颈就一个方法最简单,菜鸟一学就会,你可以试着软超,不管显卡超频也好,CPU超频也罢很容易就知道是否存在瓶颈,大家都知道鲁大爷吧【鲁大师】下载安装后在显卡和CPU默认频率下对显卡在同一分辨率下打分看看,然后记住显卡性能分数,然后用显卡超频pstrip或者EVGA对显卡进行默认频率5%的超频,在显卡超频环境下再用鲁大师给显卡性能测分,如果显卡分数比默认下测得有所提高就说明CPU对所测试的这款显卡是没有瓶颈的,再有如果显卡分数没变【显卡默认和超频后测得分数】就说明CPU对这款显卡存在瓶颈,【这时候就是5吨小车在拉20吨货物】你把CPU超频一下显卡分数就上去了!

不会CPU带不动显卡,只是低端CPU配高端显卡时CPU会成为瓶颈,影响显卡性能发挥。

集成显卡用CPU带的 集成显卡4核CPU 也带不动3D游戏

我要回帖

更多关于 CPU 的文章

 

随机推荐