JUC 重点总结

JUC概述

  • JUC就是java.util.concurrent工具包的简称。

1.进程与线程

进程

指在系统中正在运行的一个应用程序;
程序一旦运行就是进程;

进程——资源分配的最小单位。
线程

系统分配处理器时间资源的基本单元,
或者说进程之内独立执行的一个单元执行流。

线程——程序执行的最小单位。

2.并发与并行

并发

同一时刻多个线程在访问同一个资源,多个线程对一个点。
例子:春运抢票、电商秒杀

并行

多项工作一起执行,之后再汇总
例子:泡方便面,电水壶烧水,一边撕调料倒入桶中

3.线程的6种状态

线程状态枚举类
Thread.State

新建:NEW
准备就绪:RUNNABLE
阻塞:BLOCKED
不见不散:WAITING
过时不侯:TIMED_WAITING
终结:TERMINATED

wait/sleep的区别

* sleep是Thread的静态方法, wait是Object的方法,任何对象实例都能调用。
* sleep不会释放锁,它也不需要占用锁。wait会释放锁,但调用它的前提是当前线程占有锁(即代码要在synchronized中)。
* 它们都可以被interrupted方法中断。

4.管程

Monitor监视器

* 操作系统中称为监视器,Java中称为锁
* 一种同步机制,保证同一个时间,只有一个线程访问被保护数据或者代码
* jvm同步基于进入和退出的操作,使用管程对象实现的

5.用户线程和守护线程

用户线程

平时用到的普通线程,自定义线程

守护线程

运行在后台,是一种特殊的线程,比如垃圾回收

深入了解 JUC概述 链接

Lock 接口

1.Synchronized 关键字

synchronized 是 Java 中的关键字,是一种同步锁。
它修饰的对象有以下几种:

1.修饰一个代码块,被修饰的代码块称为同步语句块。
   作用的范围:大括号{} 括起来的代码
   作用的对象:调用这个代码块的对象
2.修饰一个方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值