下面这个代码是用来输出所有09,az的四位数组合,要把它转成多线程运行
def get_pwd(str, num):
if (num == 1):
for x in str:
yield x
else:
for x in str:
for y in get_pwd(str, num - 1):
yield x + y
if __name__ == '__main__':
strKey = "0123456789abcdefghijklmnopqrstuvwxyz"
for x in get_pwd(strKey,4):
print(x)
没法转成多线程
这个是迭代函数,转成多线程就不能按照顺序迭代运行了
给个多线程的例子,题主可以参考一下,两个线程输出4位随机字符串,按q停止
import string
import threading
import time
import random
loop = True
def createStr(n,thread_num):
global loop
while loop:
str = random.sample(string.ascii_letters + string.digits, n)
print(thread_num,'---------',''.join(str).lower())
time.sleep(1)
def stop():
global loop
q = input()
if q =='q':
loop = False
t1 = threading.Thread(target=createStr, args=(4,1,))
t1.start()
t2 = threading.Thread(target=createStr, args=(4,2,))
t2.start()
t3 = threading.Thread(target=stop, args=())
t3.start()
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!