真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

使用Python2.7怎么在多進程中開發(fā)多線程-創(chuàng)新互聯(lián)

這篇文章給大家介紹使用Python2.7怎么在多進程中開發(fā)多線程,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都創(chuàng)新互聯(lián)公司-專業(yè)網站定制、快速模板網站建設、高性價比廣宗網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式廣宗網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋廣宗地區(qū)。費用合理售后完善,十載實體公司更值得信賴。python有哪些常用庫

python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

可以使得程序執(zhí)行效率至少提升10倍

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
 @Time : 2018/10/24
 @Author : LiuXueWen
 @Site : 
 @File : transfer.py
 @Software: PyCharm
 @Description: 
"""

import os
import traceback
import threading
from multiprocessing import Pool
from multiprocessing.dummy import Pool as ThreadPool


# 兼容python2.7上多線程的bug,不加上下面的反代理程序不能正常執(zhí)行
def proxy(cls_instance, i):
 return cls_instance.multiprocess_thread(i)
def proxy2(cls_instance, i):
 return cls_instance.file_operation(i)

class file2transfer():
 # 多進程執(zhí)行程序
 def multiprocessingTransferFiles(self):
  try:
   # 創(chuàng)建進程池
   p = Pool()
   //參數(shù)末尾必須加上逗號
   p.apply_async(proxy, args=(self, self.root_path,))
   p.close()
   p.join()
  except Exception as e:
   print(e)

 # 每個進程下的多線程執(zhí)行,線程數(shù)等于當前機器的核數(shù)
 def multiprocess_thread(self, root_path):
  try:
   # 創(chuàng)建線程鎖
   lock = threading.RLock()
   lock.acquire()
   # 獲取每個文件
   for pfile in os.listdir(root_path):
    # 獲取文件的完整路徑
    full_file_path = os.path.join(root_path, pfile)
    # 多線程讀寫文件
    p = ThreadPool()
    # 執(zhí)行線程
    p.apply_async(proxy2, args=(self, full_file_path,))
    p.close()
    p.join()
  except Exception as e:
   print(e)
  finally:
   # 釋放線程鎖
   lock.release()

 # 對每個文件夾下的每個文件進行操作
 def file_operation(self, full_file_path):
  try:
   // TODO 真正需要單獨執(zhí)行的操作
   pass
  except Exception as e:
   print(e)

關于使用Python2.7怎么在多進程中開發(fā)多線程就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網站標題:使用Python2.7怎么在多進程中開發(fā)多線程-創(chuàng)新互聯(lián)
分享網址:http://weahome.cn/article/pephi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部