首页 > 解决方案 > 导入模块中的 Python 3.6 线程不会提高速度

问题描述

我有一个简单的程序,可以在 python 中调整一批图像的大小:

def resize(image_path_list):
    # open image
    # resize image
    # rename image
    # save new image

我正在尝试通过多线程提高处理速度 - 之所以选择多线程,是因为 A)这是一个导入的进程(来自 gui),所以 __main__ == name 下的 multiProcessing 不是一个选项,B)我想打开和关闭磁盘中的文件是我的优化机会。

然而,利用以下线程实例,我没有获得速度提升(64.1 vs 64.05s)——我希望将它减半:

t1 = threading.Thread(target=resize(first_half_of_list))
t2 = threading.Thread(target=resize(second_half_of_list))

t1.start()
t2.start()
t1.join()
t2.join()

我正在测试一批 150+ 1mB+ 的图像,有什么想法吗?

标签: python-3.xpython-importpython-multiprocessingpython-multithreading

解决方案


推荐阅读