首页 > 编程知识 正文

多核cpu和多线程,单线程多核CPU

时间:2023-05-05 14:42:29 阅读:180788 作者:25

计算机cpu和多线程进程和线程:

进程包含线程,而一个进程包含多个线程。

线程是cpu调度和分配的基本单位,进程是操作系统进行资源分配(cpu、内存、硬盘io等)的最小单位。

单核cpu:

多进程的实现依赖于操作系统的进程调度算法。 例如,时间片循环算法具有3个运行的程序或3个过程。 OS让单核cpu按顺序执行这些进程,一个进程只执行2毫秒。 这看起来好像多个进程正在同时运行,实现多进程。

多线程是充分利用cpu资源。 具有两个线程的进程的运行时间可能比运行两次线程要长一些,因为线程之间的切换也需要一些时间。 多线程可能不会提高程序的运行速度,反而会降低速度,但对用户来说,它可以减少用户的响应时间。

多核cpu:

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

多核cpu和单核cpu对进程来说都是同时的,不是并行的。

然而,因为多核cpu可以在每个内核上独立地执行线程,所以多核cpu可以实现多线程并行化,例如,四核可以向内核1234分配线程1234,且线程567可以当核心1在停止线程1执行之后移动到线程5的执行时,线程15同时执行.

JVA多线程JVM多线程和多核cpu:

在java中通过多线程机制使多个任务同时处理,所有线程共享JVM内存区域main memory,每个线程都有自己的工作内存。 线程与内存区域进行交互时,数据会从主存储器复制到工作存储器,然后传递给线程进行处理。

Java虚拟机的多线程化是通过线程交替切换处理器的执行时间并进行分配来实现的,因此在某一时刻,一个处理器(多核处理器为一个内核)只执行一个线程内的指令对于多核cpu,多个线程在多个内核上调度。

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。