• python习题:【多线程】有100个数据,启动5个线程,每个线程分20个数据,怎么把这20个数据分别传给每个线程。


    # 有100个数据,启动5个线程,每个线程分20个数据,怎么把这20个数据分别传给每个线程。
    # 每次传下标是【0:20】【20:40】【40:60】【60:80】【80:100】

    import threading

    def say(lis):
    for i in lis:
    print(i)

    res = list(range(10))

    for i in range(5):
    threading.Thread(target=say,args=(res[i*20:(i+1)*20],))


    用线程池实现
    # 线程池:放线程的池子
    import threadpool

    def say(num):
    print(num)

    res = list(range(100))
    pool = threadpool.ThreadPool(20) #定义线程池的大小

    reqs=threadpool.makeRequests(say,res) #生成线程要执行的所有线程,第一个参数是函数,第二个参数是数据,这样就可以算出来每个线程分几个数据

    # for req in reqs:
    # pool.putRequest(req) # 实际才去执行的
    [pool.putRequest(req) for req in reqs] # 实际才去执行的

    pool.wait()#等待 其他线程执行结束
  • 相关阅读:
    ASP.NET性能优化篇(转载)
    Apache相关
    UVa11292 The Dragon of Loowater
    POJ2653 Pickup sticks
    POJ2155 Matrix
    POJ3009 Curling 2.0
    POJ1066 Treasure Hunt
    UVa11729 Commando War
    Ubuntu下解决压缩文件的文件名乱码问题
    HDU3415 Max Sum of MaxKsubsequence
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8543217.html
Copyright © 2020-2023  润新知