多线程

一、为什么要用多线程

充分利用多核CPU,提高执行效率。

二、线程安全

存在共享资源就会引发线程安全问题,线程安全问题可以用synchronized或者Lock或者CAS无锁实现线程之间的同步:

1、synchronized

①作用到静态方法上

 

②作用到非静态方法发上

 

③代码块synchronized(this){。。。}

 

④代码块synchronized(XXX.class){。。。}

2、Lock

 

3、CAS

AQS(AbstractQueueSyhchronized)里的实现规则,是使用期望数据和内存中的数据对比符合预期则更新

 

三、线程的创建

直接new Thread()、继承Thread类、实现Runnable接口、线程池

四、线程的状态

五、线程池

见“五种线程池,四种拒绝策略,三种阻塞队列

六、线程池的线程数的设定

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值