多线程的一些知识点

多线程实现方法:
1.继承Thread类
2.实现Runnable接口
lamda表达式
线程操作:
sleep:线程休眠
yield:线程礼让
join:线程强制执行
线程的5个状态
1.新建状态(New):
2.就绪状态(Runnable):
3.运行状态(Running):
4.阻塞状态(Blocked):
5.死亡状态(Dead):
**线程的优先级:**10 5 1 getPriority()

**守护线程:**用户线程死了 守护线程也会停止

java.util.concurrent 多线程的一个jar包

同步线程:
会有异常:
1.银行取钱
2.一起抢买票
synchronized 在方法上面锁 同步锁 隐式锁,出了方法域 自动释放
synchronized(要锁的东西){锁的方法} 锁方法块

CopyOnWriteArrayList 同步锁list

死锁:2个事物想要互相的东西,导致都不让步,大家僵持在一个位置,锁死了。

lock锁:显式的锁,可以看到在哪儿开启和关闭锁 需要手动开关锁
ReentrantLock:可重复锁
ReentrantLock lock = new ReentrantLock();
try{
lock.lock();上锁
要锁的部分
}finally{
lock.unlock;解锁

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值