作家
登录

Java多线程之内置锁与显示锁

作者: 来源: 2017-05-08 15:01:10 阅读 我要评论

int i=0;i<10000;i++){ list.add(i);}SyncList syncList = new SyncList(list);//初始化数据Thread writerS = new Thread(new Runnable() { @Override public void run() { for (int i=0;i<10000;i++){ syncList.put(i); } }});Thread reader1S = new Thread(new Runnable() { @Override public void run() { for (int i=0;i<10000;i++){ syncList.get(i); } }});Thread reader2S = new Thread(new Runnable() { @Override public void run() { for (int i=0;i<10000;i++){ syncList.get(i); } }});long begin1 = System.currentTimeMillis();writerS.start();reader1S.start();reader2S.start();try { writerS.join(); reader1S.join(); reader2S.join();} catch (InterruptedException e) { e.printStackTrace();}System.out.println("SyncList take "+(System.currentTimeMillis()-begin1) + "ms");

结不雅:

RWLockList take 248msRWLockList take 255msRWLockList take 249msRWLockList take 224msSyncList take 351msSyncList take 367msSyncList take 315msSyncList take 323ms

可见读写锁切实其实是优于纯碎的互斥锁

总结

内置锁最大年夜长处是简洁易用,显示锁最大年夜长处是功能丰富,所以能用内置锁就用内置锁,在内置锁功能不克不及知足刹那在推敲显示锁。

关于两种锁,今朝接触到的就是这么多,总结不到位之处,迎接拍砖。

【编辑推荐】

  1. Java线程池的理论与实践
  2. Node.js对于Java开辟者而言是什么?
  3. 基于Python和JavaScript编写物联网温度计法度榜样
  4. Prepack——JavaScript代码优化对象
【义务编辑:seeker TEL:(010)68476606】

  推荐阅读

  关于Web Workers你需要了解的七件事

介绍Web Workers许可你在后台运行JavaScript代码,而不会阻拦web用户界面。Web Workers可以进步网页的┞符体机能,还可以加强用户体验。Web Workers有两种风格 ——专用Web Wo>>>详细阅读


本文标题:Java多线程之内置锁与显示锁

地址:http://www.17bianji.com/lsqh/35064.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)