美文网首页
线程相关问题

线程相关问题

作者: 54c3920a52b4 | 来源:发表于2019-10-23 11:00 被阅读0次
    1. 常用并发多线程包 java.util.concurrent
    2. synchronized 可重入性 子类可以访问父类的加锁方法
    3. 非锁线程可以访问锁定线程
    4. volatile 可以使变量对其它线程的可见性但不保证原子性 ,性能比synchronized要高。synchronized 既保证可见性也保证原子性
    5. Atomicxxx方法保证原子性 在用于对数字进行自增自减时可以代替synchronized
    6. wait首先锁定当前对象 再调用当前对象的wait方法 当前线程就进入了等待状态并且释放锁 ,此时其它线程可以进入 当调用这个对象的notify方法才可以重新启用线程
    7. 同步方法和非同步方法可以同时调用10.reentrantLock 不会主动释放锁 可以用tryLock和指定时间来进行尝试获取锁 其返回值为true /false 。可以指定为它公平锁,等待时间长的先获得锁。
    8. wait 释放了锁,只能在同步方法和同步块中使用。sleep没有释放锁,可以在任何地方使用
    9. 死锁产生:多个线程互相持有对方正在等待的锁

    相关文章

      网友评论

          本文标题:线程相关问题

          本文链接:https://www.haomeiwen.com/subject/mnihvctx.html