多线程教程练习,某目录下,20个文件,每个文件62M,共1.21G。拷贝至另一处。
单线程结果
运行时长: 10.51秒。(刚反应过来,单线程不就是单进程么。)
多线程结果
有20个文件就生成20个子线程。
运行时长: 5.22~9.73秒。(20个进程耗时不到4秒就完成。20个线程却需要近10秒。)
线程池结果
executor = ThreadPoolExecutor()
运行时长: 0.21~5.32秒。(比同样无参的进程池要慢2秒,才全部完成。)
不知后面8条记录怎么就突然3,4,5秒了。无参时,有10个子线程参与。进程与核心数有关,线程与核心数无关,不知这10个线程是怎么个来源。
executor = ThreadPoolExecutor(max_workers=1)
线程2936运行时长: 0.28~0.58秒。(比进程池要快一些)
executor = ThreadPoolExecutor(max_workers=2)
运行时长: 0.63~1.58秒。(比进程池要慢)
executor = ThreadPoolExecutor(max_workers=3)
运行时长: 0.27~1.73秒。(比进程池要快)
executor = ThreadPoolExecutor(max_workers=4)
运