先声明一下,我是在那篇文章上看到的解决方法:

http://dl.download.csdn.net/down10/20141103/4b173214e41ff3207305c2470524b0f3.zip?response-
content-disposition=attachment%3Bfilename%3D%E8%84%9A%E6%9C

%AC.zip&OSSAccessKeyId=9q6nvzoJGowBj4q1&Expires=1454872774&Signature=HKeFoCiyZteMjgO9ScKmje

iXMg4%3D

方法其实没啥不同 只是代码由于大神手打,导致代码大小写不清楚,新人看到还得改许多,就如我!所以将代码重新写一遍。一是为了方便大家也是为了怕忘了,毕竟不常用/

其中重点是Guid:全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID标准的实现。

在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。随机生成两个相同GUID的可能性是非常小的,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。
         //声明一个静态整数变量 通过他的改变 测试后感觉可以是随机数 不再紧靠(就是随机数虽然不同但是 接近)
private static int randomCount = ;
/// <summary>
/// 利用guid哈希值、当前时间ticks和计数器相乘来计算种子,生成rand变量。
/// </summary>
static float CreateRandomInt()
{
randomCount++;
//s实例化一个Guid类
Guid guid = Guid.NewGuid(); int key1 = guid.GetHashCode();
// 摘要:获取表示此实例的日期和时间的计时周期数。
// 返回结果: 表示此实例的日期和时间的计时周期数。该值介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks
// 之间。
int key2 = unchecked((int)DateTime.Now.Ticks); int seed = unchecked(key1 * key2 * randomCount);
// 使用指定的种子值初始化 System.Random 类的新实例。
//Seed:用来计算伪随机数序列起始值的数字。如果指定的是负数,则使用其绝对值。
//这就保证了rand的不同
Random rand = new Random(seed);
float newRand = rand.Next(, );
return newRand;
}

Random类短时间大量随机重复的问题的更多相关文章

  1. Java api 入门教程 之 JAVA的Random类

    在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...

  2. JAVA的Random类[转]

    在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...

  3. Random类(java.util)

    转自 Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字. 相同种子数的Rand ...

  4. [转] JAVA的Random类

    Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要 ...

  5. java Random类和Math.Rondom

      Java中存在着两种Random函数: 一.java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取 ...

  6. Random 类生成随机数

    Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要 ...

  7. java Random类详解

    java Random类位于java.util包下,主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家 Random类 (java.util) Random类中实现的随机算法是伪随 ...

  8. 关于JAVA的Random类的冷知识(转自菜鸟V)

    JAVA的Random类(转) Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基 ...

  9. Java之Random类

    什么是Random类 此类的实例用于生成伪随机数,使用此类中的方法能够得到一个随机数. Random使用步骤 查看类 java.util.Random :该类需要 import导入使后使用. 查看构造 ...

随机推荐

  1. git Feature分支

    Feature分支 软件开发中,总有无穷无尽的新的功能要不断添加进来. 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在 ...

  2. 看大数据时代下的IT架构(1)业界消息队列对比

    一.MQ(Message Queue) 即 消息队列,一般用于应用系统解耦.消息异步分发,能够提高系统吞吐量.MQ的产品有很多,有开源的,也有闭源,比如ZeroMQ.RabbitMQ. ActiveM ...

  3. Android中ViewStub组件使用

    1. 概述: ViewStub组件和<include>标签的作用类似,主要是为了提高布局的重用性,及布局的模块化.它们之间最大的差别是,ViewStub中的布局不会随着它所在布局的渲染而渲 ...

  4. nodejs开发微信1——微信路由设置a(access_token和tickets)

    /* jshint -W079 */ /* jshint -W020 */ "use strict"; var _ = require("lodash"); v ...

  5. Android在应用中依据包名启动另外一个APP

    以下为TestIntentData工程 MainActivity如下: package cn.testintentdata; import java.util.List; import android ...

  6. Android Navigation Drawer(导航抽屉)

    Google I/O 2013 Android 更新了Support库,新版本的Support库中新加入了几个比较重要的功能. 添加 DrawerLayout 控件,支持创建  Navigation ...

  7. Activity中异步操作showDialog异常解决方法:判断Ay是否结束

    Android – Displaying Dialogs From Background Threads 判断一下Activity是否在finishing就好了,否则万一Activity销毁了,这个D ...

  8. Android快速开发框架汇总

    知乎贴:Android 开发有什么好的架构么? 里面这篇不错:Architecting Android…The clean way? 知乎贴: 一.如果对App的性能.包size有要求,对代码有洁癖不 ...

  9. hive 使用脚本清洗数据:时间戳转日期

    import sys import datetime for line in sys.stdin: line = line.strip() userid, movieid, rating, unixt ...

  10. iOS 点转成字符串,再字符串转换成点

    CGPointFromString(<#NSString *string#>) NSStringFromCGPoint(<#CGPoint point#>)