回顾

我们在前几篇讲解了 java 集合的相关知识

本章开始主要介绍下多线程编程,集合的其他实现,后续会陆续放出

从 CPU 说起

上图取自某东,标注了三款的 cpu 的参数,我们只需关注 cpu 核心这栏,这里三款 cpu 都是 6 核 12 线程, 请看下图

矩形盒子代表的是一个 cpu 而里面有 6 个核心,理论上一个核心在某个时间节点只能处理一个任务,但现在随着技术的发达 一个核心可以处理多个线程任务,好比原来的单核是条单车道,6 核 12 线程就是 6 条双车道,最多时可同时处理 12 个线程任务。

线程与进程

上面提到线程任务,那什么是线程呢?说到线程就必须提到进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。

打开 winwows 任务管理器 可以这个运行了多个程序,qq 就是一个进程,而进程是线程的容器,

一个杀毒软件可以漏洞修复和垃圾清理同时进行 他们就分别是独立的线程 而且在一个进程内

那么我们看看线程的含义:

线程是程序中一个单一的顺序控制流程。进程内有一个相对独立的、可调度的执行单元,是系统独立调度和分派 CPU 的基本单位指令运行时的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。

单核 cpu 理论上在一个时间节点上只能处理一个线程任务,但是现在多核多线程技术加时间片轮转调度让我们能边听歌边写代码。

多线程

我们假设一个卖票的窗口,总共有 100 张票 分三张窗口售卖,那此时就需要利用多线程技术。

这个整体卖票的过程可以看做是一个进程在运行 而三个窗口分别运行即三个线程的运行。

总结

线程是计算机抽象的一个相当重要的基础概念,我们需要知道

  • 线程是程序执行流的最小单元
  • 进程是线程的容器
  • 一个进程内可以有多个线程
  • 多核多线程技术能让多个线程并行处理

在下一遍我们将利用 java 编程来实现三个窗口卖票的程序,尽请期待 ~~~

喜欢本文的朋友们,欢迎长按下图关注订阅号我的编程笔记,收看更多精彩内容

  • Java

    Java,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态的…

    380 引用 • 6 回帖
感谢    赞同    分享    收藏    关注    反对    举报    ...