面试之J、U、C

本文介绍Java并发编程的基础概念,包括线程状态、并发与并行的区别、wait与sleep方法的不同之处,以及多线程编程的基本模板。通过实例帮助理解并发场景。

文章目录

J、U、C

java.util.concurrent 并发编程中使用的工具类

线程状态:

Thread.State

public enum State {
    NEW,(新建)
    RUNNABLE,(准备就绪)
    BLOCKED,(阻塞)
    WAITING,(不见不散)
    TIMED_WAITING,(过时不候)
    TERMINATED;(终结)
}

wait、sleep 区别:
功能都是当前线程暂停。
wait放开手去睡,放开手里的锁。
sleep握紧手去睡,醒了手里还有锁。

并发和并行:

  • 并发:同一时刻多个线程在访问同一个资源,多个线程对一个点
    例子:小米9今天上午10点,限量抢购
    春运抢票
    电商秒杀…
  • 并行:多项工作一起执行,之后再汇总
    例子:泡方便面,电水壶烧水,一边撕调料倒入桶中

多线程编程模板:
1、在高内聚低耦合下, 线程 操作(对外暴露的调用方法) 资源类
高内聚:多个同学(线程)使用(操作)一台电脑(资源类),电脑包括了鼠标,键盘,屏幕,而不是每个同学都有一个鼠标。
低耦合:网上买东西,订单和物流是分开两个不同的系统。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值