关于线程的总结

一、多线程的实现方法

一、通过继承Thread类
 先自定义类继承Thread,重写run方法,在主线程中创建对象,开启线程start。
二、通过实现Runnable接口
     先自定义类实现Runnable接口,重写run方法,在主线程中创建对象,开启线程start。
三、匿名内部类

二、关于线程方法

   start();    run();
   String getName();  获得线程名字
   static Thread currentThread();  获得当前线程对象
   static void sleep(long time);    阻塞当前线程,时长为time
   static void yield();    释放当前线程的时间片,使当前线程进入就绪状态
   void setPriority(1~10);    设置线程优先级,提升执行概率
   void setDaemon(boolean on);    设置守护线程,所有“前置”线程结束时,
   守护线程也将自动结束
   void join();     等待该线程结束。

三、线程安全

一、同步锁synchronized
    synchronized(){}    对于非static方法,同步锁对象就是this,对于
    static方法,同步锁对象就是我们当前方法所在类的字节码对象(.class)
    synchronized代码执行完后会自动让线程释放锁,且在执行过程中不可中断。
二、Lock锁
  Lock lock = new ReentrantLock();通过lock()方法上锁,通过unlock()
  方法解锁,ReentranLock可以中断,需要手动释放锁,不然可能会导致死锁,
  一般lock()方法和unlock()方法需要配合try/catch来使用。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值