• synchronized的作用以及不足


    synchronized的作用

    synchronized是java中的一个关键字,也就是说是Java语言内置的特性。

    如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:

    1、获取锁的线程执行完了该代码块,然后线程释放对锁的占有;

    2、线程执行发生异常,此时JVM会让线程自动释放锁。

    不足

    如果这个获取锁的线程由于要等待IO或者其他原因(比如调用sleep方法)被阻塞了,但是又没有释放锁,其他线程便只能干巴巴地等待,试想一下,这多么影响程序执行效率。

    总结

    synchronized是Java语言的关键字,因此是内置特性采用synchronized不需要用户去手动释放锁,当synchronized方法或者synchronized代码块执行完之后,系统会自动让线程释放对锁的占用

    原文参考:https://www.cnblogs.com/dolphin0520/p/3923167.html

  • 相关阅读:
    git
    redis
    Hexo-butterfly-magicv3.0.1(持续更新中....)
    转发好文章1
    0x07 Nagios Notifications
    0x06 nagios监控状态
    0x05 Nagios Host Check
    0x03 Nagios Plugins介绍
    0x02 Nagios CGI的认证和授权
    0x01 Nagios配置文件
  • 原文地址:https://www.cnblogs.com/gaoqiao/p/10971927.html
Copyright © 2020-2023  润新知