synchronized和Lock的区别

    xiaoxiao2026-08-25  0

    1 介绍

    Lock提供了和synchronized类似的同步功能,只是在使用时需要显示地获取和释放锁,虽然Lock缺少了synchronized隐士获取释放锁的便捷性,但是却拥有了锁获取与释放的可操作性,可中断的获取锁以及超时获取锁等多种synchronized所不具备的特性。

    2 synchronized的隐式获取释放锁的缺点

    虽然synchronized能够隐式获取释放锁,可以减少程序员的操作,但是这种情况下,有可能大量线程都在阻塞地等待一个方法的对象锁,如果是一些大型任务,那么synchronized会严重影响系统的性能。

    Lock的特点

    1)       尝试非阻塞地获取锁,当前线程尝试获取锁,如果这一时刻没有其他线程获取到,则成功获取锁。没有获取到则返回false

    2)       获取到的锁能够响应中断,当获取锁的线程被中断,中断异常抛出将会被抛出,同时锁就会被释放。

    3)       在指定的事件内,如果截止时间之前无法获取锁,则会返回。

     

    转载请注明原文地址: https://ju.6miu.com/read-1311536.html
    最新回复(0)