• 关于多线程你不知道的事


    引言:

      世间万物都可以同时完成很多工作,例如,人体可以同时进行呼吸,呼吸的同时你也可以同时排放有毒气体,你甚至可以去思考如何上厕所才能不崩出水花,

    获得10分的好成绩。你的电脑可以同时听歌、玩联盟,或者刷网课。这种思想放在Java中称之为“并发”,我们将并发完成的每一件事情称之为线程。

     (15204493106)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    进入正题!

      在Java语言中,并发机制十分的重要,个人觉得淘宝的秒杀系统就是一个非常牛皮的案例,感兴趣的小伙伴可以去看一下我的这个博客。

    https://www.cnblogs.com/James-Harden/p/12723907.html。里面有对于高并发十分详细的简介。

    •   以及有的时候面试官可能会问你,假如一个线程池的线程忽然异常了这个线程池会怎样处理这个线程?
    •        了解JDK的 Executors 线程池吗?
    •        阿里巴巴的开发手册上为啥不允许线程池的默认实现?

    这些问题小伙伴可以看看这篇文章来做更深度的剖析!

    文档:有的线程它死了,于是它变成一道面试题...

      链接:http://note.youdao.com/noteshare?id=a9d56ebb337fa5d40f1716b0ee2dcbd8&sub=BF364D61BCD046BF976F49CFFECD4DC4

      多线程的机制十分的复杂,举个恰当的例子,比如你同时阅读三本书,首先阅读第一本书的第一张,然后阅读第二本书的第一张,再阅读第三本书的第一张。回过

    头来你在阅读第一本书的第二张。。。。。。以此类推,就体现出了多线程的复杂性。

    线程在操作系统中是如何工作的呢?

      Java多线程在不同的操作系统中也存在着差异,例如我的电脑使win10系统,windows系统是多任务操作系统,它是以进程为单位。一个进程是一个包含自身地址的程序

    ,每个独立执行的程序都称之为进程也就是正在执行的程序。系统可以分配给每一个进程一段有限的使用CPU时间(专业点叫做:CPU时间片),CPU在这段时间中执行某

    个进程,然后又在下一个时间片跳到另一个进程中去执行。由于CPU转换的较快,所以给了我们一个进程是同时进行的假象!!!

    下面,我用一个图更直观的表明Windows系统的执行模式:

     一个线程就是进程中的执行流程,一个进程中可以包含多个线程。每一个线程也可以得到一小段的执行时间。这样一个进程就可以具有多个并发执行的线程啦!!

    实现线程的两种方式?

      Java主要提供了两种方式实现线程

    • 继承java.lang.Thread类
    • 实现 java.lang.Runnable接口

    线程的生命周期?

      线程的生命周期有七种状态:

    • 出生状态
    • 就绪状态
    • 运行状态
    • 等待状态
    • 休眠状态
    • 阻塞状态
    • 死亡状态

    我用一个图更直观的将他表述出来:

     好啦今天就到这里啦!!!!

    给大家看看我家的芝麻和黄妞!!!!

    可爱吗???

  • 相关阅读:
    使用 Jackson – 将字符串转换为 JsonNode 对象
    Java 8 及其后续版本的新遍历 forEach
    IntelliJ IDEA 快速插入 for 循环
    在 Discourse 中如何使用输入对话框
    如何修改 Discourse 的域名
    Confluence 数据中心版本接近生命周期了
    IntelliJ IDEA 中如何将 POM 中的版本号快速提出为属性
    RedHat 8 如何检查端口是否联通
    二、RabbitMq安装
    一、RabbitMQ 的概念
  • 原文地址:https://www.cnblogs.com/James-Harden/p/12792399.html
Copyright © 2020-2023  润新知