JUC并发编程第一篇,复习线程基础知识
创始人
2024-01-26 07:12:25
0

JUC并发编程第一篇,复习线程基础知识

    • 一、为什么多线程极其重要?
    • 二、从start一个线程开始认识多线程
    • 三、进程、线程和管程
    • 四、用户线程和守护线程

一、为什么多线程极其重要?

  • 硬件方面:摩尔定律失效

摩尔定律
价格不变时,集成电路上可容纳的元器件的数目约每隔18-24个月便会增加一倍,性能也将提升一倍。

摩尔定律失效
从2003年开始CPU主频已经不再翻倍,而是采用多核而不是更快的主频。
在主频不再提高且核数在不断增加的情况下,要想让程序更快就要用到并行或并发编程。

  • 软件方面:

高并发系统,异步+回调等生产需求

二、从start一个线程开始认识多线程

对于线程的使用,大家再熟悉不过了,最简单的就是new一个线程,调用它的 start() 方法,这个线程就启动了。但是它到底是怎么做到的呢?可以点进去源码看一下:

  • 当我们 start() 一个线程的时候,其实是调用了 Thread.java 类里边的 private native void start0();
    在这里插入图片描述
  • 但是到这就结束了吗?其实并没有,Java语言底层是C++语言写的,所以想要继续往下看,可以到官网下载 OpenJDK源码(http://openjdk.java.net/)
  • Openjdk的写JNI一般是一一对应的,Thread.java对应的就是Thread.c
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 最后可以看到,操作线程其实是对操作系统的调用。

三、进程、线程和管程

进程:是操作系统资源分配的最小单元,是操作系统对一个正在运行的程序的一种抽象,每⼀个进程都有它⾃⼰的内存空间和系统资源

线程:是操作系统能够进行运算调度的最小单元,⼀个进程会有1个或多个线程。

管程:Monitor(监视器),就是我们平时所说的锁。Monitor其实是一种同步机制,他的义务是保证(同一时间)只有一个线程可以访问被保护的数据和代码。

四、用户线程和守护线程

线程的daemon属性为true表示是守护线程,false表示是用户线程

守护线程:是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程
用户线程:是系统的工作线程

注意:当程序中所有用户线程执行完毕之后,不管守护线程是否结束,系统都会自动退出
设置守护线程,需要在start()方法之前进行


相关内容

热门资讯

南宁创业 南宁创业 南宁创业扶...   南宁创业好项目1:早餐早点式样设计提示:1主食:面包、包子、馒头或其他糕点;2副食:咸菜或其他特...
上个月,在南宁的创业圈发生了一... GAME—BIKE我们首先带来的是“GAME—BIKE”。懂英语的一看就知道,这是个跟游戏跟自行车有...
为何95后都选择了创业小项目 ... 文|懂懂笔记“我还是选择和朋友一起创业,毕竟自由一些,也能够发挥专长。”今年春节后,计算机专业毕业的...
京喜无货源 2个月做到单店80... 大家好,我是大喵!直接步入正题,说白了大多数人创业的初衷就是赚钱,官方一点的说话就是实现经济独立和人...
【推荐】早餐店创业计划书 【推... 【推荐】早餐店创业计划书-word范文本文部分内容来自网络,本司不为其真实性负责,如有异议或侵权请及...
响水县小尖全民创业园项目 响水... 加强社会面控制能力,构建侦查网络化管理;积极组织民警进社区、进企业,开展矛盾化解调处工作;结对帮扶,...
响水县人民政府 镇区动态 小尖... 到5月底,小尖镇全民创业园二期工程已基本告竣,这是该镇精心打造全民创业高地的重要举措。该创业园已成为...
县城创业小项县城创业小项目搜索... 从一个创业者的角度我们看当前的经济形势,并没有发现当下的创业环境有什么根本性的改观。所以说,对待20...
90后小县城创业找项目那种好 ... 90后小县城创业找项目那种好面对这些借口我们要找到***合适的项目,***有效的方法就是找出出一个合...
女生创业有什么好项目有哪些 女... 女生创业者越来越多,那么对于初次创业的女生来说选好一个项目是非常重要的,下面是百分网小编整理的女生适...