zoukankan      html  css  js  c++  java
  • python多进程(三种方法)

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    from multiprocessing import Pool
    import time
    
    def f(x):
        time.sleep(1)
        print x
        return  x*x
    
    if __name__ == '__main__':
        p = Pool(5)
        print(p.map(f,range(10)))

    ##########################################

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-

    from multiprocessing import Pool
    import time

    def f(n):
    print n*n
    time.sleep(1)
    return n*n

    if __name__ == '__main__':
    p = Pool(processes=5)
    res_list = []
    for i in range(10):
    res = p.apply_async(f,[i,])
    res_list.append(res)

    for item in res_list:
    print item.get()

    from multiprocessing import Process
    import os
    
    def info(title):
        print title
        print 'module name:', __name__
        if hasattr(os, 'getppid'):  # only available on Unix
            print 'parent process:', os.getppid()
        print 'process id:', os.getpid()
    
    def f(name):
        info('function f')
        print 'hello', name
    
    if __name__ == '__main__':
        info('main line')
        p = Process(target=f, args=('bob',))
        p.start()
        p.join()
    #显示多进程之间不进行通信 
    #显示多进程之间不进行通信
    from multiprocessing import Process
    
    def run(info_title,n):
        info_title.append(n)
        print info_title
    
    info_title = []
    if __name__ == '__main__':
        for i in range(10):
            p = Process(target=run,args=(info_title,i))
            p.start()
    
    ############显示结果为############
    [1]
    [0]
    [4]
    [6]
    [8]
    [7]
    [2]
    [9]
    [5]
    [3]


    6.使用paramiko模块 以及超线程模块,查询所有主机硬盘空间大小:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    from multiprocessing import Process
    import paramiko
    
    def sshclient(ipaddr):
        private_key_path = '/root/.ssh/id_rsa'
        key = paramiko.RSAKey.from_private_key_file(private_key_path)
    
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(ipaddr,port=22,username='root',pkey=key,timeout=10)
        stdin,stdout,stderr = ssh.exec_command('df')
        print stdout.read()
        ssh.close()
    
    
    if __name__ == '__main__':
        ip_list = ['192.168.20.21','192.168.20.151','192.168.20.152']
        for i in ip_list:
            p = Process(target=sshclient,args=(i,))
            p.start()
    
    
  • 相关阅读:
    pip 更新下载源
    Image-match
    Laravel之事务与锁
    Laravel之vue操作
    html 固定居中
    vue状态管理(vuex)
    vue兄弟组件的相互通讯(vuex方式)
    vue兄弟组件之间的通信(bus.js)方法
    webapi使用过滤器拦截客户端传来的参数
    webapi跨域,服务器上使用session
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/5261246.html
Copyright © 2011-2022 走看看