《JAVA核心技术卷·I》——第十二章1——什么是线程?舞台剧(最优美的比喻)——《并发》

🌈hello,你好鸭,我是Ethan,一名不断学习的码农,很高兴你能来阅读。

✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!

🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客

🔥温馨提示:划到文末发现专栏彩蛋   点击这里直接传送

🔥本篇概览:详细讲解了线程的基本概念。利用表演团、角色、公家共享资源、私人物品等比喻优美的类比了进程线程。🌈⭕🔥


【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】


目录

🌈序言:

🌈引出:

🌈什么是进程?

🌈什么是线程?

🌈进程与线程最优美的比喻:


🌈序言:

JAVA基础必序扎实的一批,此关不过,啥都没有。今日得《JAVA核心技术·卷I》之良品辅助,应按本书学之习之,时时复习,长此以往必能穿魂入脉,习得大功。

感谢Cay S. Horstmann给世界留下如此优美的作品。

对于一个强烈想完全掌握JAVA的技术宅来说,JAVA的XXX万万不能放过,这些基础的概念例程都值得细细体味的,千万别觉得都是文字,浪费时间,记住——别违背科学发展的客观规律。别一味地赶进度以满足自己学的都么快的虚荣心,自欺欺人,要老老实实的走好每一步。

上一篇文章详细讲解了XX,建议先将这部分知识掌握之后再来学习本篇内容,点击查看。


🔥 所有JAVA基础一键查阅(含习题集)-CSDN博客


🌈引出

线程到底是什么鬼东东?相信大家肯定或多或少有被这玩意给迷惑,今天这篇文章我们就来详细讲解它!

其实线程和指针是一样的,看着唬人,也不好理解。但是只要把计算机底层思想搞透,就没问题!像指针一样,其实就是变量里面存着一个地址,根据这个地址,计算机就能在该地址处找到相应的值。就这么简单!

这里补一个,对指针理解困难的同学,可以看看我这篇计算机入门指导,很有思想的讲解。


🌈什么是进程?

  • 总概
    • 进程和线程是操作系统中用于管理任务和资源分配的概念。
  • 定义
    • 进程
      • 进程是指一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程,它包含了程序的执行所需的资源,如内存、文件描述符,必要的寄存器等。
    • 线程
      • 线程是进程中的一个执行单元,多个线程可以共享进程的资源,从而提高程序的并发性和执行效率。
  • 区别
    • 进程是资源分配的基本单位。
    • 线程是 CPU 调度的基本单位。

进程为程序的运行提供了独立的环境,不同进程之间相互隔离,它们的地址空间、数据等都是独立的,保证了各自运行的安全性和稳定性。


🌈什么是线程?

线程是进程中的一个执行单元。进程就像是一个表演团(含诸多角色),而线程则是具体执行任务的“角色”。他们共同完成一个总的任务!——表演剧本!

线程处于特定的计算状态,它在进程所提供的环境和资源中执行特定的代码片段。它具有自己独立的执行流程,但又与同一进程中的其他线程共享进程的大部分资源。


例如,一个视频播放器进程中,可以有多个线程,如播放视频的线程、处理音频的线程、响应用户操作的线程等,每个线程都处于不同的计算状态,共同协作完成播放器的功能。


从从属关系来看:线程是进程一个执行单元,是进程的基本组成单位

从程序运行的指令流看:线程是整个进程对应的诸多指令流中的一支,对应一个程序运行状态的访问或修改。

从程序完成的任务来看:线程是对应整个进程所完成的诸多任务中的一个

从源码角度来看:线程是整个源代码中的部分执行代码片段

从底层硬件的资源分配来看:      进程是资源分配的基本单位。线程是 CPU 调度的基本单位。
线程是操作系统分配给整个进程的所有硬件的状态的一种(堆、栈、文件描述符、寄存器等)。


🌈进程与线程最优美的比喻:

可以把进程想象成一个在操作系统这个大舞台上进行表演的表演团(含诸多角色),它带着特定的“剧本”(程序),执行在特定的“场景”(资源环境)中活动,并且会根据剧情发展(程序执行情况)而呈现不同的状态和行为。一场戏可以反复被不同的表演团执行(同一程序可以被多次执行形成多个不同进程。)。


而线程就是这个团队里面的单个角色,每个角色有自己特定的任务,他们共享整个剧本的大部分公家资源(不同线程之间共享所属进程的大部分资源(如全局变量等)),但是有一些个人物品是不共享的(每个线程也有自己独立的栈空间,用于存储局部变量等,这些局部变量是不共享的。


比如一个浏览器进程负责显示网页、处理网络请求等任务(一场戏两个角色。),一个音乐播放进程负责播放音乐等。(一个舞台两场戏。)



💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖

热门专栏推荐

🌈🌈计算机科学入门系列                     关注走一波💕💕

🌈🌈CSAPP深入理解计算机原理        关注走一波💕💕

🌈🌈微服务项目之黑马头条                 关注走一波💕💕

🌈🌈redis深度项目之黑马点评            关注走一波💕💕

🌈🌈JAVA面试八股文系列专栏           关注走一波💕💕

🌈🌈JAVA基础试题集精讲                  关注走一波💕💕   

🌈🌈代码随想录精讲200题                  关注走一波💕💕


总栏

🌈🌈JAVA基础要夯牢                         关注走一波💕💕  

🌈🌈​​​​​​JAVA后端技术栈                          关注走一波💕💕  

🌈🌈JAVA面试八股文​​​​​​                          关注走一波💕💕  

🌈🌈JAVA项目(含源码深度剖析)    关注走一波💕💕  

🌈🌈计算机四件套                               关注走一波💕💕  

🌈🌈数据结构与算法                           ​关注走一波💕💕  

🌈🌈必知必会工具集                           关注走一波💕💕

🌈🌈书籍网课笔记汇总                       关注走一波💕💕         



📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值