当前位置: 首页 > news >正文

招一个程序员可以做网站吗在线制作logo图标免费制作

招一个程序员可以做网站吗,在线制作logo图标免费制作,免费企业黄页,做网页代码的素材网站synchronized和ReentrantLock的区别 synchronized 和 ReentrantLock 都是 Java 中用于实现线程同步的机制#xff0c;但它们在功能、使用方式、性能等方面存在显著区别。以下是两者的详细对比#xff1a; 1. 基本概念 synchronized 是 Java 内置的关键字#xff0c;用于实…synchronized和ReentrantLock的区别 synchronized 和 ReentrantLock 都是 Java 中用于实现线程同步的机制但它们在功能、使用方式、性能等方面存在显著区别。以下是两者的详细对比 1. 基本概念 synchronized 是 Java 内置的关键字用于实现线程同步可以修饰方法或代码块。它通过 JVM 实现属于隐式锁。ReentrantLock 是 Java 并发包java.util.concurrent.locks中的一个类属于显式锁提供了比 synchronized 更灵活的锁机制。 2. 主要区别 1使用方式 synchronized 代码块形式 synchronized (lockObject) {// 同步代码块 }方法形式 public synchronized void method() {// 同步方法 }ReentrantLock 需要显式创建锁对象并在需要时手动加锁和解锁 ReentrantLock lock new ReentrantLock();lock.lock(); // 加锁 try {// 同步代码 } finally {lock.unlock(); // 解锁 }2锁的获取与释放 synchronized 锁的获取和释放由 JVM 自动管理无需手动干预。如果发生异常JVM 会自动释放锁。 ReentrantLock 必须手动调用 lock() 和 unlock() 方法。必须在 finally 块中释放锁否则可能导致死锁。 3公平性 synchronized 默认是非公平锁无法直接控制锁的公平性。 ReentrantLock 可以选择公平锁或非公平锁 ReentrantLock fairLock new ReentrantLock(true); // 公平锁 ReentrantLock unfairLock new ReentrantLock(false); // 非公平锁默认4可中断性 synchronized 线程在等待锁时无法被中断只能一直等待。 ReentrantLock 提供了 lockInterruptibly()方法允许线程在等待锁时响应中断 javalock.lockInterruptibly(); // 可以被中断5尝试获取锁 synchronized 没有直接的方法尝试获取锁只能阻塞等待。 ReentrantLock 提供了 tryLock()方法可以尝试获取锁如果获取失败则立即返回 if (lock.tryLock()) {try {// 同步代码} finally {lock.unlock();} } else {// 获取锁失败的处理 }6锁绑定多个条件 synchronized 只能使用 Object 的 wait()、notify() 和 notifyAll() 方法且所有线程共享同一个条件队列。 ReentrantLock 可以绑定多个 Condition对象实现更精细的线程等待和唤醒 Condition condition lock.newCondition(); lock.lock(); try {condition.await(); // 线程等待condition.signal(); // 唤醒线程 } finally {lock.unlock(); }7性能 synchronized 在 Java 6 之前性能较差但在 Java 6 及之后版本中JVM 对 synchronized 进行了大量优化如锁粗化、锁消除、偏向锁、轻量级锁等性能接近 ReentrantLock。 ReentrantLock 在高竞争场景下性能可能优于 synchronized但需要手动管理锁的获取和释放增加了代码复杂度。 8可读性 synchronized 代码更简洁易于理解和维护。 ReentrantLock 代码更复杂需要手动管理锁的获取和释放容易出错如忘记释放锁。 3. 使用场景 synchronized 适用于简单的同步需求代码简洁易于维护。适合不需要复杂锁机制如公平性、可中断性、多条件的场景。 ReentrantLock 适用于需要更灵活的锁机制如公平性、可中断性、多条件的场景。适合高竞争场景或需要更精细控制线程同步的场景。 4. 总结对比表 特性synchronizedReentrantLock使用方式关键字隐式锁类显式锁锁的获取与释放自动管理手动管理lock()/unlock()公平性默认非公平可选择公平或非公平可中断性不支持支持lockInterruptibly()尝试获取锁不支持支持tryLock()锁绑定多个条件不支持支持Condition性能Java 6 后优化接近 ReentrantLock高竞争场景下可能更优可读性代码简洁代码复杂 5. 推荐使用 如果不需要复杂的锁机制优先使用 synchronized代码更简洁且易于维护。如果需要公平性、可中断性、多条件等高级功能或在高竞争场景下需要更精细的控制使用 ReentrantLock。 6. 示例代码 synchronized 示例 public class SynchronizedExample {private int count 0;public synchronized void increment() {count;}public static void main(String[] args) {SynchronizedExample example new SynchronizedExample();Runnable task () - {for (int i 0; i 1000; i) {example.increment();}};Thread t1 new Thread(task);Thread t2 new Thread(task);t1.start();t2.start();try {t1.join();t2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Count: example.count); // 输出 2000} }ReentrantLock 示例 import java.util.concurrent.locks.ReentrantLock;public class ReentrantLockExample {private int count 0;private final ReentrantLock lock new ReentrantLock();public void increment() {lock.lock();try {count;} finally {lock.unlock();}}public static void main(String[] args) {ReentrantLockExample example new ReentrantLockExample();Runnable task () - {for (int i 0; i 1000; i) {example.increment();}};Thread t1 new Thread(task);Thread t2 new Thread(task);t1.start();t2.start();try {t1.join();t2.join();} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Count: example.count); // 输出 2000} }通过以上对比可以根据具体需求选择合适的同步机制。
文章转载自:
http://www.morning.mspkz.cn.gov.cn.mspkz.cn
http://www.morning.mooncore.cn.gov.cn.mooncore.cn
http://www.morning.fwnqq.cn.gov.cn.fwnqq.cn
http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn
http://www.morning.rylr.cn.gov.cn.rylr.cn
http://www.morning.kyzja.com.gov.cn.kyzja.com
http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn
http://www.morning.jmbfx.cn.gov.cn.jmbfx.cn
http://www.morning.dgwrz.cn.gov.cn.dgwrz.cn
http://www.morning.smxrx.cn.gov.cn.smxrx.cn
http://www.morning.szoptic.com.gov.cn.szoptic.com
http://www.morning.china-cj.com.gov.cn.china-cj.com
http://www.morning.ftlgy.cn.gov.cn.ftlgy.cn
http://www.morning.crdtx.cn.gov.cn.crdtx.cn
http://www.morning.ktqtf.cn.gov.cn.ktqtf.cn
http://www.morning.qpnmd.cn.gov.cn.qpnmd.cn
http://www.morning.fhjnh.cn.gov.cn.fhjnh.cn
http://www.morning.dnmgr.cn.gov.cn.dnmgr.cn
http://www.morning.dzyxr.cn.gov.cn.dzyxr.cn
http://www.morning.rfldz.cn.gov.cn.rfldz.cn
http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn
http://www.morning.kxnnh.cn.gov.cn.kxnnh.cn
http://www.morning.mgbsp.cn.gov.cn.mgbsp.cn
http://www.morning.jnzfs.cn.gov.cn.jnzfs.cn
http://www.morning.jxzfg.cn.gov.cn.jxzfg.cn
http://www.morning.mhnb.cn.gov.cn.mhnb.cn
http://www.morning.xrhst.cn.gov.cn.xrhst.cn
http://www.morning.fqyxb.cn.gov.cn.fqyxb.cn
http://www.morning.trlhc.cn.gov.cn.trlhc.cn
http://www.morning.mlpch.cn.gov.cn.mlpch.cn
http://www.morning.thlzt.cn.gov.cn.thlzt.cn
http://www.morning.hcszr.cn.gov.cn.hcszr.cn
http://www.morning.hqxyt.cn.gov.cn.hqxyt.cn
http://www.morning.fypgl.cn.gov.cn.fypgl.cn
http://www.morning.blfll.cn.gov.cn.blfll.cn
http://www.morning.qnlbb.cn.gov.cn.qnlbb.cn
http://www.morning.qjldz.cn.gov.cn.qjldz.cn
http://www.morning.ngcsh.cn.gov.cn.ngcsh.cn
http://www.morning.xrksf.cn.gov.cn.xrksf.cn
http://www.morning.qfgwx.cn.gov.cn.qfgwx.cn
http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn
http://www.morning.xstfp.cn.gov.cn.xstfp.cn
http://www.morning.kzrg.cn.gov.cn.kzrg.cn
http://www.morning.gbpanel.com.gov.cn.gbpanel.com
http://www.morning.atoinfo.com.gov.cn.atoinfo.com
http://www.morning.gbpanel.com.gov.cn.gbpanel.com
http://www.morning.tkchm.cn.gov.cn.tkchm.cn
http://www.morning.cjnfb.cn.gov.cn.cjnfb.cn
http://www.morning.dqrpz.cn.gov.cn.dqrpz.cn
http://www.morning.brxzt.cn.gov.cn.brxzt.cn
http://www.morning.znlhc.cn.gov.cn.znlhc.cn
http://www.morning.dmzfz.cn.gov.cn.dmzfz.cn
http://www.morning.mhnr.cn.gov.cn.mhnr.cn
http://www.morning.zpxwg.cn.gov.cn.zpxwg.cn
http://www.morning.bryyb.cn.gov.cn.bryyb.cn
http://www.morning.zsfooo.com.gov.cn.zsfooo.com
http://www.morning.jxpwr.cn.gov.cn.jxpwr.cn
http://www.morning.ddtdy.cn.gov.cn.ddtdy.cn
http://www.morning.nzcgj.cn.gov.cn.nzcgj.cn
http://www.morning.wfqcs.cn.gov.cn.wfqcs.cn
http://www.morning.xnfg.cn.gov.cn.xnfg.cn
http://www.morning.mlbdr.cn.gov.cn.mlbdr.cn
http://www.morning.qhmgq.cn.gov.cn.qhmgq.cn
http://www.morning.rxkq.cn.gov.cn.rxkq.cn
http://www.morning.mbmh.cn.gov.cn.mbmh.cn
http://www.morning.cjnfb.cn.gov.cn.cjnfb.cn
http://www.morning.kwnbd.cn.gov.cn.kwnbd.cn
http://www.morning.fnlnp.cn.gov.cn.fnlnp.cn
http://www.morning.fllfz.cn.gov.cn.fllfz.cn
http://www.morning.lwnwl.cn.gov.cn.lwnwl.cn
http://www.morning.mggwr.cn.gov.cn.mggwr.cn
http://www.morning.rhfh.cn.gov.cn.rhfh.cn
http://www.morning.ndfwh.cn.gov.cn.ndfwh.cn
http://www.morning.nfqyk.cn.gov.cn.nfqyk.cn
http://www.morning.yhxhq.cn.gov.cn.yhxhq.cn
http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn
http://www.morning.grzpc.cn.gov.cn.grzpc.cn
http://www.morning.mwkwg.cn.gov.cn.mwkwg.cn
http://www.morning.yrjym.cn.gov.cn.yrjym.cn
http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn
http://www.tj-hxxt.cn/news/259051.html

相关文章:

  • 建模网站素材网站制作完工验收单
  • 常州市建设局网站封装系统如何做自己的网站
  • 企业网站建设 价格做网站图片切图是什么
  • 公司页面佛山选择免费网站优化
  • 免版权图片网站成都效果图制作公司排行榜
  • 局域网手机网站建设淄博做网站跟优化
  • 如何用万网做自己的网站网站里的字体大小
  • 网站开发语言啥意思我是一条龙笔趣阁
  • 平台网站建设可行报告2022楼市最新消息
  • 最简单的网页seo北京
  • 文件夹里内容做网站的分类山东网站制作策划
  • 自己做网站能宣传自己的产品吗门户网站建设策划
  • seo站长网家庭电脑可以做网站吗
  • 泰安网网站建设环保组织的相关信息
  • 一个网站需要多长时间如何创建刷单网站
  • 网站开发什么意思网站恢复正常
  • 网站关键词优化办法企管宝app下载
  • 哪些有名网站是用php做的怎么建设58同城网站
  • 南宁一站网网络技术有限公司沈阳军成网站建设
  • 怎么做好网站运营国际4a广告公司排名
  • 专业模板建站价格深圳网站建设智能 乐云践新
  • 太原免费网站建站模板网站留言板 html
  • 开封公司做网站缓存 wordpress 加速
  • 网站建设的主要观点网站设计作业多少钱
  • 江门恒阳网站建设湖北省和城乡建设厅官方网站
  • 哈尔滨做网站电话怎么做网站记者
  • 一个女装店网站建设的策划模板专注微信网站建设
  • 安徽教育机构网站建设怎么查询网站是哪家公司做的
  • 中山网站软件wordpress comments_popup_link
  • 辽宁省城乡建设厅官方网站说做网站被收债