14. 多线程

1. 创建多线程方式

①继承Thread类(具有单继承缺陷) ②实现Runnable接口,创建线程实例

2. 使用start()方法启动线程(后台调用run()方法)

3. 建议使用=null 方式来代替stop、suppend、resume等方法。

4. 线程分为5种状态,分别是新建、就绪、运行、阻塞、结束

5. 可以使用线程组(ThreadGroup)来对线程进行统一管理

注:每个线程都属于一个线程组,默认情况,新建线程属于生成它的当前线程

6.加锁   (同步本质上就是给对象加锁)

①使用synchronized关键字给方法加锁   //对于实例方法,是给调用该方法的对象加锁。对于静态方法,是给类加锁

②使用同步语句块 //格式:synchronized(Object ){...}

7. 线程默认名称为Thread-i

8. 给类加锁    //格式:sychronized(Object.class) {...}

9. 同步存在的条件

a. 存在多线程 b. 存在同步代码块 c. 存在共享数据

注:为避免问题,给他们加同一个对象锁或类锁

10. 使用锁对象来调用wait、notify、notifyAll

11. 1.5版本以后使用Lock对象来代替synchronized,使用Condition代替Object中的线程操作方法

Condition对象可通过Lock获取,一个Lock锁可以绑定多个Condition对象,使用Lock时最后需释放锁(使用finally语句)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值