此笔记为 【狂神说Java】多线程详解 听课笔记 B站视频链接 【狂神说Java】多线程详解 ,狂神讲解的多线程非常通俗易懂,建议大家可以配合此笔记听课。

目录

  • 线程简介
    • 1、多任务
    • 2、多线程
    • 3、普通方法调用和多线程
    • 4、程序.进程.线程
    • 5、Process与Thread
    • 6、本章核心概念

线程简介

1、多任务


现实中太多这样同时做多件事情的例子了,看起来是多个任务都在做,其实本质上我们的大脑在同一时间依旧只做了一件事情。

2、多线程


原来是一条路,慢慢因为车太多了,道路堵塞,效率极低。

为了提高使用的效率,能够充分利用道路,于是加了多个车道。从此,妈妈再也不用担心道路堵塞了。

3、普通方法调用和多线程

4、程序.进程.线程

5、Process与Thread

Process与Thread

  • 说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运 行的含义,是一个静态的概念。

  • 进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单 位

  • 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没 有存在的意义。线程是CPU调度和执行的的单位。

注意

很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错局。

6、本章核心概念

  • 线程就是独立的执行路径;

  • 在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程;

  • main() 称之为主线程,为系统的入口,用于执行整个程序;

  • 在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能认为的干预的。

  • 对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制;

  • 线程会带来额外的开销,如cpu调度时间,并发控制开销。

  • 每个线程在自己的工作内存交互,内存控制不当会造成数据不一致

多线程详解系列文章目录

多线程详解第1讲:线程简介

多线程详解第2讲:线程实现(重点)

多线程详解第3讲:线程状态

多线程详解第4讲:线程同步(重点)

多线程详解第5讲:线程协作

多线程详解第1讲:线程简介相关推荐

  1. 多线程详解第3讲:线程状态

    线程状态 目录 线程状态 1. 五大状态 2.线程方法 3.停止线程 4.线程休眠 5.线程礼让 6.Join 7.线程状态观测 8.线程优先级 9.守护(daemon)线程 1. 五大状态 五大状态 ...

  2. Java 多线程详解(五)------线程的声明周期

    Java 多线程详解(一)------概念的引入:https://blog.csdn.net/weixin_39816740/article/details/80089790 Java 多线程详解(二 ...

  3. Java 多线程详解(三)------线程的同步

    Java 多线程详解(一)------概念的引入:https://blog.csdn.net/weixin_39816740/article/details/80089790 Java 多线程详解(二 ...

  4. 【Boost】boost库中thread多线程详解1——thread入门与简介

    1. 概述 线程就是,在同一程序同一时间内允许执行不同函数的离散处理队列. 这使得一个长时间去进行某种特殊运算的函数在执行时不阻碍其他的函数变得十分重要. 线程实际上允许同时执行两种函数,而这两个函数 ...

  5. Java多线程详解(如何创建线程)

    嗨喽-小伙伴们我们又见面了, 前面一章,我们了解了线程的基本概念,从这一章,我们开始学习如何创建一个线程.总的说来,在java中,有四种创建线程的方式: 1. 继承Thread类 2. 实现Runna ...

  6. linux线程和进程详解,linux 进程和线程简介

    1.进程的概念 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动.它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元. 2.轻量级进程 轻量级 ...

  7. Java多线程详解(线程不安全案例)

    嗨喽-小伙伴们我又来了, 通过前面两章的学习,我们了解了线程的基本概念和创建线程的四种方式. 附上链接: 1.  Java多线程详解(基本概念)​​​​​​​ 2. Java多线程详解(如何创建线程) ...

  8. iOS多线程详解:实践篇

    iOS多线程实践中,常用的就是子线程执行耗时操作,然后回到主线程刷新UI.在iOS中每个进程启动后都会建立一个主线程(UI线程),这个线程是其他线程的父线程.由于在iOS中除了主线程,其他子线程是独立 ...

  9. Java多线程详解(基本概念)

    嗨喽-小伙伴们我来啦, 从本章开始,我们就要开始介绍Java中一个非常重要的概念-----多线程.线程化思想是计算机领域的重要思想,有了线程,咱编写的程序才能更为高效准确地运行起来. 首先,咱来了解一 ...

最新文章

  1. 020-请你说一说app测试的工具
  2. 对另一个布局文件里的Button按钮进行监听
  3. aptana studio 3 汉化
  4. 图片预览------photoswipe 使用
  5. ReactiveCocoa源码拆分解析(四)
  6. 防止arp***方法
  7. 线性表9 - 数据结构和算法14
  8. python 单向链表逆序_python实现单链表反转(经典笔试题)
  9. 微信小程序布局技巧(一)
  10. 最全的期货交易术语在这里
  11. 嵌入式系统框架----软件篇
  12. 电磁仿真CST软件学习笔记:模型创建篇(更新中)
  13. linux下查看vcf文件格式,plink格式文件与vcf格式文件相互转化
  14. Aspose.word Java实现html转word,word转html
  15. Linux下设置网卡速率 降低网卡速度
  16. IMDB算法(贝叶斯算法)
  17. 定时器 java qua_spring项目中使用定时任务
  18. 微信抢票应用个人总结
  19. 阿里巴巴余军:钉钉宜搭低代码实践之路
  20. Tensor基础操作总结

热门文章

  1. lol 正在刷leetcode
  2. dnf服务器未响应怎么解决方法,DNF未响应的原因分析与解决方法
  3. 详情页返回列表内容缓存及定位实现
  4. 变形金刚外传--大黄蜂(BumbleBee)模玩评测之~~闪电(BLITZWING)
  5. vue组件的循环引用
  6. html邮件内容能识别么,【外贸技巧】HTML邮件之扫盲篇
  7. ue c++人物鼠标灵敏度调整
  8. asyncio 系列一、asyncio 的协程与任务
  9. Termux设置mysql/nginx/php等服务随软件自启动
  10. java获取总页数_java – 如何获得要打印的总页数?