导航:首页 > 编程语言 > 线程javalock

线程javalock

发布时间:2024-11-28 14:31:42

java如何实现线程安全,synchronized和lock的区别,可重入锁

一、synchronized和lock的用法区别


synchronized:在需要同步的对象中加入此控制,synchronized在方法上,也在特定代码块中,括号中表示需要锁的对象。


lock:需要显示指定起始位置和终止位置。一般使用ReentrantLock类做为锁,多个线程中必须要使用一个ReentrantLock类做为对象才能保证锁的生效。且在加锁和解锁处需要通过lock()和unlock()显示指出。所以一般会在finally块中写unlock()以防死锁。


二、synchronized和lock用途区别


synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候。


  1. 某个线程在等待一个锁的控制权的这段时间需要中断

  2. 2.需要分开处理一些wait-notify,ReentrantLock里面的Condition应用,能够控制notify哪个线程

  3. 3.具有公平锁功能,每个到来的线程都将排队等候

阅读全文

与线程javalock相关的资料

热点内容
我的世界简单命令方块教学 浏览:196
什么游戏解压最合适 浏览:508
安卓怎么搞黑色的界面 浏览:961
java简单类型 浏览:358
python中反射机制 浏览:191
手机app哪里可以报团旅游 浏览:738
长pdf阅读 浏览:26
程序员删除代码是怎么样的 浏览:1
电子商务pdf 浏览:541
致远服务器地址端口 浏览:219
如何查水逆的APP 浏览:88
python中有序字典 浏览:543
系统和服务器的运维什么意思 浏览:454
程序员看重的内容 浏览:361
程序员8折 浏览:96
社会变迁pdf 浏览:902
程序员怎么选择MacBookPro配置 浏览:635
phoenix命令 浏览:487
字体文件放到那个文件夹 浏览:54
设计院如何选用服务器 浏览:187