Oracle官方并发教程之并发随机数

原文地址 译文地址 译者:李任 校对:方腾飞

在JDK7中,java.util.concurrent包含了一个相当便利的类,ThreadLocalRandom,当应用程序期望在多个线程或ForkJoinTasks中使用随机数时。

对于并发访问,使用TheadLocalRandom代替Math.random()可以减少竞争,从而获得更好的性能。

你只需调用ThreadLocalRandom.current(), 然后调用它的其中一个方法去获取一个随机数即可。下面是一个例子:

int r = ThreadLocalRandom.current().nextInt(4,77);

文章转自 并发编程网-ifeve.com

时间: 2024-09-14 06:53:06

Oracle官方并发教程之并发随机数的相关文章

Oracle官方并发教程之并发集合

原文地址 译文地址  译者:李任  校对:方腾飞 java.util.concurrent包囊括了Java集合框架的一些附加类.它们也最容易按照集合类所提供的接口来进行分类: BlockingQueue定义了一个先进先出的数据结构,当你尝试往满队列中添加元素,或者从空队列中获取元素时,将会阻塞或者超时. ConcurrentMap是java.util.Map的子接口,定义了一些有用的原子操作.移除或者替换键值对的操作只有当key存在时才能进行,而新增操作只有当key不存在时.使这些操作原子化,可

Oracle官方并发教程

计算机的使用者一直以为他们的计算机可以同时做很多事情.他们认为当其他的应用程序在下载文件,管理打印队列或者缓冲音频的时候他们可以继续在文字处理程序上工作.甚至对于单个应用程序,他们任然期待它能在在同一时间做很多事情.举个例子,一个流媒体播放程序必须能同时完成以下工作:从网络上读取数字音频,解压缩数字音频,管理播放和更新程序显示.甚至文字处理器也应该能在忙于重新格式化文本和刷新显示的情况下同时响应键盘和鼠标事件.这样的软件就被称为并发软件. 通过Java语言和Java类库对于基础并发的支持,JAV

oracle锁机制的延续——并发与多版本1

开发多用户数据库应用,最大的难题之一是:一方面要力争最大的并发访问,而同时还要确保每一用户 能以一致的方式读取和修改数据.力争最大的并发访问需要用锁定机制,而确保一致读和修改数据则需要一些并发控制机制.    1.并发控制:     并发控制(concurrency control)是数据库提供的函数集合,允许多个人同时访问和修改数据.锁(lock)是Oracle管理共享数据库资源并发访问并防止并发数据库事务之间"相互干涉"的核心机制之一.总结一下,Oracle使用了多种锁,包括:  

Java8并发教程:Threads和Executors

欢迎阅读我的Java8并发教程的第一部分.这份指南将会以简单易懂的代码示例来教给你如何在Java8中进行并发编程.这是一系列教程中的第一部分.在接下来的15分钟,你将会学会如何通过线程,任务(tasks)和 exector services来并行执行代码. 第一部分:Threads和Executors 第二部分:同步和锁 并发在Java5中首次被引入并在后续的版本中不断得到增强.在这篇文章中介绍的大部分概念同样适用于以前的Java版本.不过我的代码示例聚焦于Java8,大量使用lambda表达式

通过ASP.NET连接Oracle数据库实例教程

通过ASP.NET连接Oracle数据库实例教程 长期以来,我一直用的是 MS SQL Server / Access 数据库,通过.NET 访问MS自家的东西几乎没碰到过什么麻烦.最近项目中要用 Oracle 作为数据库,学习研究了一些 .NET 访问Oracle 的东西,发现问题倒真的不少. 1.System.Data.OracleClient 和 System.Data.OleDb 命名空间 虽然通过这两个命名空间的类都可以访问 Oracle 数据库,但和 SQL Server 类似的(S

《流程的永恒之道》(一)控制模式之串行、并发分裂及并发汇聚模式

控制模式是流程的中枢神经,它在作战小分队中负责将多个单独的作战活动组合在一起,并推动活动的自动化流转,形成作战流程.其重要性不言而喻,因此要设计一个好的流程,就必须学会应用各种各样的控制模式. 在探寻每个模式的究竟之前,我们首先定义一个统一的格式,对于控制模式,将按照如下统一的格式进行描述: 模式描述 我们在探寻每个控制模式时,将按照如下统一的格式进行描述. 原型实例(故事片段) 给出此模式的故事片段,通过鲜活的工作流故事展现此模式的应用场景. 上下文(描述.动机) 给出此模式的具体描述和动机:

微软官方入门教程19:轻松掌握Vista系统的快捷键

这是微软官方入门教程的最后一篇, 希望对大家能有所帮助.一口气搞定了19篇,算是一份圣诞节的礼物吧.当然,最应该感谢的是微软中国Vista团队的同仁们. Alt+Enter 查看当前选中目标的属性 Alt+ESC 切换到上一个操作的窗口 Alt+F4 关闭当前窗口 Print Screen 截取当前全屏幕到剪切板 Alt+Print Screen 截取当前窗口屏幕截图到剪切板 Alt+Shift 在输入法之间切换 Alt+Tab 切换当前打开的窗口 Alt+Shift+Tab 反向切换当前打开的

Azure官方step-to-step教程

问题描述 Azure官方step-to-step教程 我是一个java web开发者,经常在csdn上活动,最近用上Azure后,感觉中文方面的教程很少或者语义不清,如果想要在Azure上面布署一个javaweb项目,是相当郁闷的,不是因为没有教程,而是Azure上的中文教程实在解决不了问题,后来多方求解才知道版本控制系统要形成{webapps/项目名}这样的目录结构,然后再发布上去才能成功.很多细节方面不懂,或者是我英文水平低,希望官方可以推出中文教程. 解决方案 和Amazon.Google

MFC定时器并发转多线程并发的代码优化问题

问题描述 MFC定时器并发转多线程并发的代码优化问题 MFC定时器并发进一步优化为多线程并发,在双核联想品牌笔记本上运行速度没有提高的原因是什么? 解决方案 主要是检查你的线程是不是并发执行的还是过度进行了同步. 解决方案二: 先要看你的并发线程的任务能不能够都同时处理.