通过实例解析synchronized和lock区别

qqstrategy55120 16 0 pdf 2022-05-16 14:05:27

synchronized是关键字,属于JVM层面,通过wait,notify和notifyAll来调度线程。synchronized不需要用户手动去释放锁, 当synchronized代码执行完后,系统会自动释放锁。需要lock和unlock配合try/finally语句块来完成。synchronized不可中断,除非抛出异常或者正常运行完毕。Lock可中断,可以设置超时方法或者调用中断方法。Lock默认非公平锁,可指定为公平锁。Lock用来分组唤醒需要唤醒的线程,可以精确唤醒,而不是像synchronized一样要么随机唤醒一个线程,要么全部唤醒。Demo: 练习  多线程之间按顺序调用,实现A->B->C三个线程启动,要求:AA打印5次,BB打印10次,CC打印15次,重复10遍。

通过实例解析synchronized和lock区别

通过实例解析synchronized和lock区别

通过实例解析synchronized和lock区别

用户评论
请输入评论内容
评分:
暂无评论