计算机中线程的基本概念

计算机中线程的基本概念

  1. CPU核心数,线程数之间有什么关系?

    CPU核心数量和线程数量一般情况下为1:1的关系,但是使用了超线程技术后,比例为1:2,这个技术是指CPU的工业技术。window可以在任务管理器查看,就是我们常说的4核八线程,4核4线程。

  2. 什么是指CPU时间片轮转机制?

    时间片轮转调度是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一时间段,称作它的时间片,即该进程允许运行的时间。又叫RR调度,在JAVA中过多的线程会导致上下文切换。
    比如你4核4线程,你new了8个线程,那么其实4个物理线程公平的分配给8个JAVA线程使用。

  3. 什么是进程和线程?

    • 进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源
    • 线程:CPU调度的最小单位,必须依赖进程而存在。
  4. 什么是并发和并行?

    • 并行:同一时刻,可以同时处理事情的能力
    • 并发:与单位时间相关,在单位时间内可以处理事情的能力
  5. 高并发编程的意义、好处和注意事项

    • 好处:充分利用cpu的资源、加快用户响应的时间,程序模块化,异步化
    • 问题:线程共享资源,存在冲突;容易导致死锁;启用太多的线程,就有搞垮机器的可能