首页 > 编程语言 > 详细

python 多线程 7z运行异常

时间:2015-12-28 00:59:15      阅读:233      评论:0      收藏:0      [点我收藏+]
import os
import logging
from multiprocessing.dummy import Pool
#from multiprocessing import Pool

n = 20
datFolder = dat
zipFolder = zip

def initFolder():
    for folder in [datFolder,zipFolder]:
        if not os.path.isdir(folder):
            os.mkdir(folder)
        else:
            for f in os.listdir(folder):
                os.remove(os.path.join(folder,f))


def work(i):
    filename = os.path.join(datFolder,{idx}.dat.format(idx=i))
    with open(filename,wb) as f:
        a = [chr((n+i) & 0xFF) for n in xrange(0,1024*104*5)]
        f.write(‘‘.join(a))

    dst = os.path.join(zipFolder, {idx}.zip.format(idx=i))
    cmd = 7z a {dst} {src}.format(dst=dst, src=filename)
    logging.error(cmd)
    os.system(cmd)

def main():
    initFolder()

    p = Pool(4)
    tasks  = [p.apply_async(work, (i,)) for i in xrange(0,n)]
    results = [task.get() for task in tasks]
    print(finish)

if __name__ == __main__:
    main()

测试代码如上.

用多进程正常,或者多线程在运行7Z的时候枷锁。

python 多线程 7z运行异常

原文:http://www.cnblogs.com/boysbeer/p/5081307.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!