Python

20220102_python多进程multiprocessing使用方法

Song Wei Song Wei 2023年3月16日 06:11
161
20220102_python多进程multiprocessing使用方法

20220102_python多进程multiprocessing使用方法



(1)Python multiprocessing 是 Python 标准库中提供的一个多进程处理模块,它允许在 Python 中方便地使用多进程并行处理数据和任务,从而加快程序的运行速度。


(2)使用 multiprocessing 模块,可以在 Python 中轻松创建和管理多个进程,并实现数据共享和通信。该模块提供了 Process 类和 Queue 类等多个类和函数,可用于创建和管理多个进程和进程间通信。



=================================================

以多进程拷贝压缩文件为案例:

 (base) root@dell-server:/home/newdisk_dell_4/test2# ls -lhtr
总用量 4.2G
-rwxr-xr-x 1 root root 429M 1月   1 10:37 HiC_1.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:38 HiC_2.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:38 HiC_3.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:38 HiC_4.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:38 HiC_5.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:38 HiC_6.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:38 HiC_7.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:38 HiC_8.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:39 HiC_9.fastq
-rwxr-xr-x 1 root root 429M 1月   1 10:39 HiC_10.fastq
-rw-r--r-- 1 root root  930 1月   1 11:08 copy_gzip_multiprocessing-method3.py


(base) root@dell-server:/home/newdisk_dell_4/test2# cat copy_gzip_multiprocessing-method3.py
import os
import sys
import argparse
import time
import multiprocessing
def copy_gzip_files(copy_file) :
    os.system('cp ../%s  ./'%(copy_file))
    os.system('gzip  ./%s '%(copy_file))
    print('%s is copying and compressing.'%(copy_file))
def test()   :
    os.system('rm -rf new_files && mkdir new_files ')

    files = os.popen('ls -lhtr *.fastq  | cut -d ":" -f 2 - | cut -d " " -f 2 - ').read().strip().split("\n")
    os.chdir('./new_files')
    print(files)

    pool = multiprocessing.Pool(4)
    for eles in files :
        #print (eles)
        #pool.apply_async(copy_files,args=(eles))
        pool.apply_async(copy_gzip_files,(eles,))
    pool.close()
    pool.join()
    print('Copy and compressing processing is finished!')

test()



(base) root@dell-server:/home/newdisk_dell_4/test2# python3  copy_gzip_multiprocessing-method3.py
标签: python
Weather
北京 天气
2℃

网站浏览