python多线程(简单写法)

最近要处理一批数据,大概几十万,需要多线程处理,但是呢,公司搞得多线程代码封了一大堆东西看都看不懂还没有注释,我还不如自己搞

为了通俗易懂写个基础简单版

import threading

# 定义线程的执行函数
def process_subset(subset, threadName):
    for i in range(len(subset)):
        # 在这里对子集进行处理
        print("线程%s处理%s" % (threadName, subset[i]))

# 主线程
def threadUtil(list):

    # 定义线程数量
    num_threads = 10

    # 计算每个线程要处理的子集大小
    subset_size = len(list) // num_threads

    # 创建线程对象列表
    threads = []

    # 创建并启动线程
    for i in range(num_threads):
        # 计算子集的起始和结束索引
        start = i * subset_size
        end = start + subset_size if i < num_threads - 1 else len(my_list)

        # 创建线程,并将子集作为参数传递给线程的执行函数
        t = threading.Thread(target=process_subset, args=(my_list[start:end], i))
        threads.append(t)
        t.start()

    # 等待所有线程执行完成
    for t in threads:
        t.join()

    # 打印处理后的列表
    print("所有线程结束了================")

if __name__ == "__main__":
    # 假设我们有一个要处理的列表
    my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
    threadUtil(my_list)

打印结果看效果

python多线程(简单写法)_第1张图片

 

你可能感兴趣的:(python,python,开发语言)