多核cpu与多线程理解

news/2024/11/16 19:26:12/

计算机cpu与多线程

  1. 进程和线程:
    进程包含线程,一个进程中包含多个线程.
    线程是cpu调度和分配的基本单位,进程是操作系统进行资源分配(cpu,内存,硬盘io等)的最小单位.

  2. 单核cpu:
    实现多进程依靠于操作系统的进程调度算法,比如时间片轮转算法,比如有3个正在运行的程序(即三个进程),操作系统会让单核cpu轮流来运行这些进程,然后一个进程只运行2ms,这样看起来就像多个进程同时在运行,从而实现多进程.

    多线程其实是最大限度的利用cpu资源.一个拥有两个线程的进程的执行时间可能比一个线程的进程执行两遍的时间还长一点,因为线程的切换也需要时间.即采用多线程可能不会提高程序的运行速度,反而会降低速度,但是对于用户来说,可以减少用户的响应时间.

  3. 多核cpu:
    什么是多核cpu?多核cpu是一枚处理器中集成多个完整的计算引擎(内核).

    多核cpu和单核cpu对于进程来说都是并发,并不是并行.

    但是多核cpu每一个核心都可以独立执行一个线程,所以多核cpu可以真正实现多线程的并行.比如四核可以把线程1234分配给核心1234,如果还有线程567就要等待cpu的调度.线程1234属于并行;如果一会核心1停止执行线程1改为执行线程5,那线程15属于并发.

java多线程

  1. JVM多线程与多核cpu:
    java中通过多线程机制使得多个任务同时执行处理,所有的线程共享JVM内存区域main memory,而每个线程又单独的有自己的工作内存,当线程与内存区域进行交互时,数据从主存拷贝到工作内存,进而交由线程处理(操作码+操作数).

    由于Java 虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)只会执行一条线程中的指令.所以多核cpu情况下多个线程会在多个核心上调度.

参考:《深入理解java虚拟机》


http://www.ppmy.cn/news/244149.html

相关文章

多处理器架构

多处理器架构是一种计算机体系结构,它具有多个处理器或中央处理单元(CPU),这些处理器可以同时处理多个任务和数据。多处理器架构可以大大提高计算机的性能和吞吐量,特别是在需要处理大量数据和高度并发的应用程序中。 …

单核处理器、多核处理器、多处理器与多线程编程

一.进程、线程、单核处理器 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,即进程是操作系统进行资源分配的最小单元。进程在运行过程中创建的资源随着进程的终…

单核处理器、多核处理器、多处理器与多线程编程,cpu调度

进程的概念: 进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。程序运行时系统就会创建一个进程,并为它分配资源,然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为…

操作系统与多核处理器

这篇文章解答了我心中的疑问,那就是操作系统会自动调度cpu资源来处理多进程,多线程的并发。 早在上世纪90年代末,就有众多业界人士呼吁用CMP( 单芯片多处理器)技术来替代复杂性较高的 单线程CPU。IBM、惠普、Sun等高端服务器厂商,…

多个处理器和多核处理器的区别

最近遇到了一个让人很是疑惑的问题,然后写出来供大家解疑: 多个处理器&多核处理器? 多个处理器:多个单核处理器,就是说电脑和处理器有多个,但是这个电脑的处理器是单核的; 多核处理器&…

大屏拼接处理器(一)

概括 在大屏幕拼接系统中,我们很容易将焦点聚集在拼接单元上,而作为整个系统“神经中枢”的处理器往往被人忽视。对于大屏幕厂商来说,处理器是加强对大屏核心技术把控,打造差异化的关键。大屏处理器的优劣直接决定着整个大屏幕显示…

PC_多处理器

文章目录 多处理器单指令单数据流SISD结构单指令流多数据流SIMD结构向量处理器 多指令流单数据流MISD结构多指令多数据流MIMD结构小结 硬件多线程细粒度多线程粗粒度多线程同时多线程 多核处理器共享内存多处理器 多处理器 常规的单处理器属于SISD常规多处理器属于MIMD 单指令…

内核/逻辑处理器/线程/多线程/多CPU/多核CPU

文章目录 1. 逻辑CPU2. 线程数和逻辑CPU个数,内核个数3.线程/进程/多核CPU3.1 线程3.2 多核cpu3.3 进程和线程 1. 逻辑CPU 先查看电脑cpu信息,可以看到,是8个逻辑cpu 2. 线程数和逻辑CPU个数,内核个数 在任务管理器中&#xf…