介绍
这篇文章给大家介绍使用Python2.7怎么在多进程中开发多线程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
python有哪些常用库
python常用的库:1. requesuts; 2. scrapy; 3.枕头;4.扭曲;5. numpy; 6. matplotlib; 7. pygama; 8。ipyhton等。
可以使得程序执行效率至少提升十倍
# !/usr/bin/env python #,- *安康;编码:utf-8 - * - “““ :,@Time  2018/10/24 :,@Author  LiuXueWen @Site :大敌; :,@File  transfer.py ,@Software: PyCharm @Description:大敌; “““ import 操作系统 import 回溯 import 线程 得到multiprocessing import 池 得到multiprocessing.dummy import  Pool as  ThreadPool #,兼容python2.7上多线程的错误,不加上下面的反代理程序不能正常执行 def 代理(cls_instance,,我): ,return cls_instance.multiprocess_thread(我) def proxy2 (cls_instance,,我): ,return cls_instance.file_operation(我) class file2transfer (): ,#多进程执行程序 ,def multiprocessingTransferFiles(自我): 尝试才能: ,,#,创建进程池 ,,p =,池() ,,//参数末尾必须加上逗号 ,,p.apply_async(代理,,args=(self.root_path,自我,)) ,,p.close () ,,p.join () except 才能;Exception  as e: ,才能打印(e) ,#每个进程下的多线程执行,线程数等于当前机器的核数 ,def multiprocess_thread(自我,,root_path): 尝试才能: ,,#,创建线程锁 ,,lock =, threading.RLock () ,,lock.acquire () ,,#,获取每个文件 ,,for pfile 拷贝os.listdir (root_path): ,,,#,获取文件的完整路径 ,,,full_file_path =, os.path.join (root_path, pfile) ,,,#,多线程读写文件 ,,,p =, ThreadPool () ,,,#,执行线程 ,,,p.apply_async (proxy2, args=(full_file_path,自我,)) ,,,p.close () ,,,p.join () except 才能;Exception  as e: ,才能打印(e) 最后才能: ,,#,释放线程锁 ,,lock.release () ,#对每个文件夹下的每个文件进行操作 ,def file_operation(自我,,full_file_path): 尝试才能: ,,//,TODO 真正需要单独执行的操作 ,才能通过 except 才能;Exception  as e: ,才能打印(e)
关于使用Python2.7怎么在多进程中开发多线程就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。