zoukankan      html  css  js  c++  java
  • 淫荡的多核,流氓的我——序

      逛园子有日子了,今天这个大洗的日子,也完成下人生中的第一次,让开发这条路走的更没羞没臊一些。

      截个图,留下痛苦的第一次,不再是看帖不回的黄花小码农了  

      

    下面切入正题

    一:多核处理器

      1、什么是多核处理器?

      多核处理器,可以想象成一枚处理器中封装着多个相互连接的内核,并且每个内核都可以访问主内存。

      2、为什么会诞生多核处理器?

      传统的单核处理器,在提高芯片速度时所带来的副作用很大,例如高温问题、成本问题等。
      3、多核处理器的优势

      通过合理的划分任务,线程可以利用多个执行核心,在单位时间内处理更多的数据。

    二、内核、硬件线程、软件线程

      物理内核:真正意义上的内核,每一个物理内核都是独立的处理单元。

      硬件线程:使用了超线程技术(HTT)的Inter芯片,在每个物理内核上提供了多份架构状态。硬件线程又称为逻辑内核,之后文章总提到内核,都指的硬件线程

           例如在一个具有2个物理内核的处理器中使用了HT技术,并且在每一个物理内核中提供了2份架构状态,就获得了4个硬件线程。这种技术成为对称多线程(SMT)它通过额外的架构状态在处理器级别对并行执行进行优化和增强。

      软件线程:Windows中每个运行的程序,都成为一个进程(Process),进程在执行的过程中 会创建并运行一个或多个线程,这些线程被成为软件线程。

    这个是我在自己机器上截的图。I3 CPU使用了HTT技术,因此实际的物理内核是2个,并且由于每个内核提供了2份架构状态,因此拥有4个逻辑内核。

    三、交错并发与并发的概念区别:

    交错并发:在单核处理器中或者内核数量不足的情况下,多线程技术会将Cpu运行时间切片,多个线程之间交叉进行操作。


    并发:多个线程各自占用内核进行同时操作。

    图例:

    以上为多核编程的基本概念,今天博客暂时写到这里停笔了。由于第一次写,很多东西很难落到笔头上。

    无奈之下参考/剽窃了:《百度百科——多核处理器》     《C#并行编程高级教程》 中的原文,觉得晦涩难懂的朋友麻烦多多提些建议,一起提升

    这个系列中的所有博客会随着我对多核编程的理解加深而不断重构,并且会修正某些因为理解偏差造成的失误,谢谢大家围观……

    说实话,第一次 确实很疼……

  • 相关阅读:
    python 接口自动化测试搭建钉钉环境
    接口测试流程梳理
    兼容性测试
    软件测试流程
    软件测试---黑盒测试的测试用例的设计方法
    软件基础之-----测试的方法
    基于Selenium2+Java的UI自动化(8)- 显式等待和隐式等待
    基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框
    基于Selenium2+Java的UI自动化(5)
    基于Selenium2+Java的UI自动化(4)
  • 原文地址:https://www.cnblogs.com/ShadowLoki/p/2439698.html
Copyright © 2011-2022 走看看