#coding=utf-8
import time
import base64
import getopt
import sys
import threading
import random
import string
import os
def base64_cal():
str = 'admin'
str = str.encode('utf-8')
# 加密
bs64 = base64.b64encode(str)
# 解密
debs64 = base64.b64decode(bs64)
print(debs64.decode("utf-8"))
# base32bit加密
bs32 = base64.b32encode(str)
debs32 = base64.b32decode(bs32)
print(debs32.decode("utf-8")) def enterParams():
opts, args = getopt.getopt(sys.argv[1:], '-h-c:f:', ['help', 'concurrent=', 'file='])
concurrent_data=None
filename=None
for opt_name, opt_value in opts:
print(opt_name,opt_value)
if opt_name in ('-h', '--help'):
usage()
sys.exit()
if opt_name in ('-c', '--concurrent'):
if type(opt_value).__name__=='str':
concurrent_data=opt_value
if opt_name in ('-f', '--file'):
filename = opt_value
# else:
# # return None
# raise TypeError("enter param {} not file's path".format(opt_value)) return concurrent_data,filename def usage():
str="--help:\n\t-c : concurrent TotalData\n\t -f: filename's path\n--example:" \
"\n\tpython testfile.py -c 1000000 -file=./res/testPython.txt"
print(str) class ConcurrentIdSample(threading.Thread):
def __init__(self,func,args=()):
self.func=func
self.args=args
threading.Thread.__init__(self)
def run(self):
self.result = self.func(*self.args)
def get_result(self):
try:
return self.result
except Exception:
return None def func(*args):
# print(time.asctime())
return ''.join(random.sample(string.hexdigits,random.randint(*args))) def concurrent_execute(concurrent_data):
pool=[]
samplesList=[]
for i in range(concurrent_data):
thread_sample=ConcurrentIdSample(func,(16,20))
pool.append(thread_sample)
thread_sample.start()
for thread in pool:
thread.join()
samplesList.append(thread.get_result())
return samplesList def outPut():
st=time.time()
concurrent_data,filename=enterParams()
res=concurrent_execute(concurrent_data)
end=time.time()
during=end-st
print(len(res),"\nmake {} datas time cost {}".format(concurrent_data,during),'\n')
if __name__ == '__main__':
enterParams()

  

100w并发产生唯一随机id的更多相关文章

  1. 【高性能】生成唯一时间戳ID,1毫秒预计能生成1000个

    凡事涉及到高性能貌似都是高大上的东西,所以嘛我也试试:其实这个时间戳ID的生成主要为了解决我们公司内部的券号生成,估计有小伙伴认为券号生成有这么麻烦嘛,搞个自增ID完全可以用起来,或者时间取毫微米时间 ...

  2. 可实现的全局唯一有序ID生成策略

    在博客园搜素全局唯一有序ID,罗列出来的文章大致讲述了以下几个问题,常见的生成全局唯一id的常见方法 :使用数据库自动增长序列实现 : 使用UUID实现:  使用redis实现: 使用Twitter的 ...

  3. 生成随机id对比

    生成随机id 最近公司的项目游戏生成的随机不重复id,重复概率有点大, 代码如下: private static int id = 0; public static int serverID = 0; ...

  4. 学习笔记找到多个具有相同 ID“_header”的控件,FindControl 要求控件具有唯一的 ID.

    解决 找到多个具有相同 ID“_header”的控件,FindControl 要求控件具有唯一的 ID. private void DisplayHotBooks()    {        //获取 ...

  5. 生成唯一的id(转)

    很多朋友都利用md5()来生成唯一的编号,但是md5()有几个缺点:1.无序,导致数据库中排序性能下降.2.太长,需要更多的存储空间.其实PHP中自带一个函数来生成唯一的id,这个函数就是uniqid ...

  6. extjs每一个组件要设置唯一的ID

    extjs每一个组件要设置唯一的ID,否则会造成各种错误 EXTJS基本上是靠ID来识别组件的,假如你在panel1中有个ID:"keyword"的textfield,而panel ...

  7. 用java生成32位全球唯一的id编号

    GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义 ...

  8. js生成唯一的id

    1.生成[0,1)的随机数的Math.random Math.random().toString().replace(".", "");// 生成唯一的id 2 ...

  9. ionic获取ios唯一设备id的解决方案

    经常有朋友来问这个问题. 每次都去解释这个问题也浪费不少时间, 所以还是开一篇文章, 把这个问题说清楚吧. 先纠正一个误区吧: 有同学可以通过ionic natvie的device插件获取. 我们在文 ...

随机推荐

  1. c#项目使用webrtc的降噪模块方法

    分离webrtc的降噪(Noise Suppression)部分 webrtc是Google开源的优秀音视频处理及传输代码库,其中包含了audio processing.video processin ...

  2. 安装CDH第三方依赖包

    安装CDH第三方依赖包: yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyr ...

  3. 题解【洛谷P3385】【模板】负环

    题目描述 暴力枚举/\(SPFA\)/\(Bellman-ford\)/奇怪的贪心/超神搜索 寻找一个从顶点1所能到达的负环,负环定义为:一个边权之和为负的环. 输入输出格式 输入格式 第一行一个正整 ...

  4. saas的资料

    互联网时代的软件革命-SaaS架构设计.叶伟.扫描版 提取码:jd5c 让云落地  云计算服务模式(SAAS.PAAS和IAAS)设计决策--Michael J.Kavis著提取码:ut24

  5. 安装rpm包时提示错误:依赖检测失败的解决方法

    安装rpm包时提示错误:依赖检测失败 解决方法: 命令末尾加上--nodeps --force

  6. oss创建文件夹

    在进行putObject时,第二个参数写成path/your-object即可

  7. Plastic Bottle Manufacturer Profile: Plastic Bottle Forming Process

    Plastic bottle molding refers to the process of making a final plastic product from a polymer produc ...

  8. php中的elseif和else if

    以前的时候还没注意到,知道进入公司,看的代码多了点,时常看到elseif的分支,而我自己时常用的是else if,于是就注意到,他们既然都可以用,那么他们的却别在哪儿呢? 通过查询,原来,确实有点小小 ...

  9. Remmina无法保存的问题

    Remmina无法保存的问题 今天用Remmina远程连接,发现密码无法保存,如果保存一直是灰色的 经过一段时间的研究,发现只要把快速连接名字改了就可以!

  10. 【Struts 动态表单】DynaActionForm

    RegisterAction package k.action; import org.apache.struts.action.ActionForm; import org.apache.strut ...