把下面函数转为多线程运行

下面这个代码是用来输出所有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()
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632