5.1并发工具介绍

java简单的线程可以满足你去创建多线程的应用,相对单线程来说,java的简单线程的接口应用还是有一定的代表性的。可是那些简单的应用却有如下的问题:

java的简单并发工具应用经常不能够被正确使用,如synchronized和wait()/notify()的工具。这些不正确的工具使用,或说早期的工具会用,将会导致线程间的竞争的现象中出现如下的问题:线程饥饿、死锁和其它的危险情况。这样的问题是很难被发现和打印出来的。

太多依赖于synchronized关键字,将会导致性能问题,甚至影响到了可测试性。这些重要的问题将会在注重线程的系统中更为常见,像互联网的系统。

开发者经常需要更高的线程应用,所就会自己构造线程池和信息间的调用。因为这些的构造并不会包含java的简单的线程接口提供。开发自己构造线程池和信息间的调用将面临的问题是耗时,和有时候难以控制的错误出现。

为了去解决以上提到的问题,Java5构造了并发的工具,像线程池和阻塞队列,使用这些并发的工具可以走到高效和可扩展的效果。这个高性能的线程工具在如下的包中:

java.util.concurrent:这个工具经常用在并发的应用中,如executor(执行器)。

java.util.concurrent.atomic:这个工具类在单一的变量中,提供自由锁和线程安全的应用。

java.util.concurrent.locks:这个工具的风格是提供等待(wait)和锁(lock)的状态。(一个对象让线程执行等待状态,直到它的状态被唤醒,那么它就可以执行了

相对于java的基础控制器——sychronization来说,这个工具会更加好表现和灵活。

对于这些并发工具来说,我们也要介绍一下nanoTime()的方法,这个方法属于java.lang.System的类中,它可以让你通过使用纳秒的粒度来相对测试程序和运行。

并发工具可以分类为:executors、synchronizers、锁框架等。

5.并发工具和执行器(Concurrency Utilities and Executors)5.1 并发工具介绍相关推荐

  1. java交易撮合怎么实现_「康力电梯002367」“股票实时交易系统如何实现高并发撮合交易?最好有java架构“java 股票分析工具-京东方a小-seo金融...

    本文由京东方a小编创作于2020-09-10 21:11:04发布的来源于seo金融股票配资http://www.drill-pipe.com/gov/52833.html请您欣赏.seo金融网拥有众 ...

  2. python自动化工具哪个好用_10款好用的自动化测试工具推荐

    当我们功能测试干的时间比较久了,或者想要学习更多的技术,提升自己的时候,基本上第一时间就会想到的是自动化测试.而在自动化测试领域,自动化工具的核心地位毋庸置疑,下面为大家推荐10款常见常用的自动化测试 ...

  3. win10文件夹加密_win10优化清理工具:Windows10下删除垃圾文件的12个最佳工具

    您的电脑有时可能会充满不必要的临时文件和程序,从而导致速度变慢.垃圾文件和应用程序可能是一个问题,所以今天我们将向您展示在Windows10上删除垃圾的最佳工具.以下便是ghost123为大家推荐的w ...

  4. 阿里P8架构师谈:高并发与多线程的关系、区别、以及高并发的系统解决方案

    原创: 架构师进阶 优知学院 5天前 " 很多只知道高并发,却不知道高并发与多线程的关系,以及真正的高并发应该如何设计技术方案" 01 - 什么是高并发 高并发(High Conc ...

  5. 并发经验八年架构师:缓存在高并发场景下该如何问题

    缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象.这就比较依赖缓存的过期和更新策略.一般会在数据发生更改 ...

  6. java ee有哪些工具_JavaEE开发中最常用到的技术和工具汇总

    原标题:JavaEE开发中最常用到的技术和工具汇总 今天千锋广州小编给大家来介绍一下关于目前JavaEE开发中最常用到的技术和工具的介绍,下面我们一起来看一下吧. 项目管理:Ant,项目管理事实上的标 ...

  7. 并发和并行的区别_多核、多处理器、并发、并行、超线程概念总结

    多核与多处理器 多核( ) 多核处理器就是指单个 CPU 中有多个可执行单元. 如下图所示,单个 CPU 中有两套可执行单元. 多处理器( ) 多处理器系统则是一个拥有多个 CPU 的系统.每个 CP ...

  8. python开发工具排名-Python程序员必备的四款开发工具

    原标题:Python程序员必备的四款开发工具 每一位Python程序员都会有套工具来应对开发工作上的挑战.多年来,Python程序员使用开发工具来完成他们的工作.有很多工具对他们是有用的,不过对于初入 ...

  9. 工具的学习使用(二):快捷键、工具、批处理

    快捷键 Ctrl + Shift + A 核心快捷键 : 查看 Phpstorm 的 action,所谓 action 便是 Phpstorm 的一个原子操作,只要记住这些操作的关键字,进行搜索便可以 ...

  10. max格式转obj小工具_PDF文件转JPG等图片格式的小工具

    不点蓝字,我们哪来故事? 今天小夭给大家介绍一个好用的PDF文件转JPG/PNG等图片格式的小工具,非常简单好用.它是一款免费的软件,一款体积小巧的PDF转换为图片文件的软件.PDF转JPG工具可以将 ...

最新文章

  1. 什么是 Ethernet Switch
  2. fixing macOS Sierra fatal error: 'openssl/opensslv.h' or 'openssl/aes.h' file not found
  3. 基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自己主动适应宽带高度...
  4. eclipse工作空间在哪里配置?
  5. ITK:获取或设置ITK类的成员变量
  6. 提示用户输入一个高考_2020年湖南省高考成绩查询方式及录取动态查询方式
  7. python数学计算函数_Python 内置函数(数学运算类,逻辑判断类)
  8. 树状数组相关应用之二元变量结构体组队问题
  9. mysql 岩机_mysql数据库基本应用
  10. 【莓闻】芮成钢专访黑莓CEO巴尔西利
  11. testbench实例 vhdl_testbench_testbench如何加载_vhdl testbench reset(5)
  12. 《计算机网络 第七版》读后感
  13. python将一个word文档中内容全部复制,添加到另一个word文档末
  14. NAT MASQUERADE
  15. 吴恩达深度学习工程师系列课程笔记(Deep Learning Specialization - deeplearning.ai)
  16. 项目中使用 husky 配合 lint-staged 进行git提交前代码检查
  17. echarts 水滴图实现方式。
  18. 当x大于时,y等于1;当x等于0时,y等于0;当x小于0时,y等于-1。
  19. 剑指台积电!英特尔砸200亿美元建厂进军芯片代工
  20. SQL Server 递归查询上下级

热门文章

  1. [JLOI2015]城池攻占 左偏树
  2. 使用Memcache在PHP中调试方法的介绍及应用
  3. [翻译]利用C#获取终端服务(Terminal Services)会话的闲置时间
  4. css3制作的载入动画效果,效果很震撼!
  5. 关于ContentResolver
  6. matlab打乱矩阵行,matlab 中,怎么让一个矩阵按某一列排列,并且行也跟着变动?...
  7. 各路由协议防环机制汇总(一)
  8. centos 7和centos6修改默认启动模式的方法
  9. PXE+kickstart 无人值守安装CentOS 6
  10. shell脚本实例(随堂笔记)