new Random().Next(1, 100); 多线程同时执行结果很高概率相同,
/// <summary>
/// new Random().Next(1, 100); 多线程同时执行结果很高概率相同,
/// 是用的当前时间为seed,时间相同结果相同
///
/// 解决随机数重复问题
/// 同时模拟远程请求的随机延时
/// </summary>
public class RandomHelper
{
/// <summary>
/// 随机获取数字并等待1~2s
/// </summary>
/// <returns></returns>
public int GetRandomNumberDelay(int min, int max)
{
Thread.Sleep(this.GetRandomNumber(500, 1000));//随机休息一下
return this.GetRandomNumber(min, max);
} /// <summary>
/// 获取随机数,解决重复问题
/// </summary>
/// <param name="min"></param>
/// <param name="max"></param>
/// <returns></returns>
public int GetRandomNumber(int min, int max)
{
Guid guid = Guid.NewGuid();//每次都是全新的ID
string sGuid = guid.ToString();
int seed = DateTime.Now.Millisecond;
for (int i = 0; i < sGuid.Length; i++)
{
switch (sGuid[i])
{
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
case 'g':
seed = seed + 1;
break;
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'm':
case 'n':
seed = seed + 2;
break;
case 'o':
case 'p':
case 'q':
case 'r':
case 's':
case 't':
seed = seed + 3;
break;
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z':
seed = seed + 3;
break;
default:
seed = seed + 4;
break;
}
}
Random random = new Random(seed);
return random.Next(min, max);
}
}
new Random().Next(1, 100); 多线程同时执行结果很高概率相同,的更多相关文章
- ASP.NET 多线程 监控任务执行情况,并显示进度条
		关于多线程的基本概念和知识在本文中不多讲,而且我懂的也不是很透,说的太多误人子弟...对于我来说,做本文提到的功能够用就行,等实现其他效果不够用的时候,再深入研究 推荐看园子里的两篇博客应该就有个基本 ... 
- 多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture
		目录 1.Futrue 2.FutureTask 3.CompletionService 4.CompletableFuture 5.总结 ================正文分割线========= ... 
- fastDFS多线程并发执行出现的问题
		--------------------- 原作者:Java高级开发 来源:CSDN 原文:https://blog.csdn.net/hang1995/article/details/7924 ... 
- Java使用多线程异步执行批量更新操作
		import com.google.common.collect.Lists; import org.apache.commons.collections.CollectionUtils; impor ... 
- C# 不使用Task实现的多线程顺序执行
		多线程有很好的并发性即无序性,在某些特殊情况下需要用到多线程然而又要使其具备顺序性,这种时候就有了一个特殊的场景那就是多线程顺序执行,在现在VS2015中Task自带了顺序执行的方法,但在此之前的旧项 ... 
- python:使用多线程同时执行多个函数
		使用多线程同时执行多个函数 import time import os import threading def open_calc(): with open('test.txt', 'r') as ... 
- 转:Java多线程学习(总结很详细!!!)
		Java多线程学习(总结很详细!!!) 此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢? 本文主要讲java中多线程 ... 
- [转]Java多线程学习(总结很详细!!!)
		Java多线程学习(总结很详细!!!) 此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢? 本文主要讲java中多线程 ... 
- Redis不是一直号称单线程效率也很高吗,为什么又采用多线程了?
		Redis是目前广为人知的一个内存数据库,在各个场景中都有着非常丰富的应用,前段时间Redis推出了6.0的版本,在新版本中采用了多线程模型. 因为我们公司使用的内存数据库是自研的,按理说我对Redi ... 
随机推荐
- mysql基本操作(一)
			1.登录mysql mysql -h localhost -u root -p 登录mysql,其中 -h是指定要连接mysql服务器的主机名 -u是指定用户 -次数登录必须用-p输入密 ... 
- ionic2/cordova自定义插件集成aar包
			一.准备自定义插件 1. 准备:安装plugman npm install -g plugman 2. 新建组件 plugman create --name MyPlugin --plugin_id ... 
- Codeforces 989D A Shade of Moonlight
			A Shade of Moonlight 列列式子发现, 对于同一个云来说只有反向的云才能和它相交, 然后我们发现这个东西有单调性,然后二分就好啦. #include<bits/stdc++.h ... 
- 做生活的有心人——xxx系统第一阶段总结
			2017秋,桃子已经步入大学三年级了,觉得格外幸运 因为现在,有了学习的动力. 如果你和我一样也是在大学中后部分才意识到,自己是个大人了,思维模式开始转变开始融入一些前所未有的认知,觉得自己渺小得如沧 ... 
- 014 Security的认证流程源码级详解
			一:任务 1.任务 认证处理流程说明 认证结果如何在多个请求之间共享 获取认证用户信息 二:认证处理流程处理说明 1.流程图 这里只是一个登陆到登陆的认证部分的流程图. 2.流程解释 3.断点跟踪 页 ... 
- json数组,前后端传值问题,与data时间转毫秒
			从json数组到ArrayList Gson gson = new Gson(); Car cars = gson.fromJson(result,new TypeToken<ArrayList ... 
- Java 之 Web前端(五)
			1.过滤器 a.定义:是一个中间组件,用于拦截源数据和目的数据之间的消息,并过滤二者之间传递的数据 b.步骤: ①建class继承Filter实现抽象方法 public class EncodingF ... 
- MLR:输入两个向量,得出两个向量之间的相关度—Jason  niu
			import numpy as np from astropy.units import Ybarn import math from statsmodels.graphics.tukeyplot i ... 
- hdu1429 胜利大逃亡(续)  【BFS】+【状态压缩】
			题目链接:https://vjudge.net/contest/84620#problem/K 题目大意:一个人从起点走到终点,问他是否能够在规定的时间走到,在走向终点的路线上,可能会有一些障碍门,他 ... 
- Stm32基础
			Stm32基础 目录 常用功能函数 跑马灯实验 蜂鸣器实验 按键实验 端口复用与重映射 常用功能函数 初始化gpio函数 作用:初始化一个或者多个io口(同一组)的工作方式和速度该函数主要是操作GPI ... 
