Python脚本之Multiprocessing 多线程

简介:

AAB377E247752DA87288BAF935E442AC

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

#!/usr/bin/env python

#encoding=utf-8

from multiprocessing import Process,Lock

import time,os

def say(i):

    print 'nihao:',i

#lock=Lock()

for n in range(101):

    p=Process(target=say,args=(n,))

    p.start()

    #p.join()

########################################多线程池Pool,可限制多线程数量

#!/usr/bin/env python

#encoding=utf-8

import multiprocessing

import os,sys,time

result=[]

def run_cmd(i):

    print 'threading test:',i,os.getpid()

    time.sleep(1.5)

p=multiprocessing.Pool(processes=25)

for n in range(100):

    result.append(p.apply_async(run_cmd,('%s'%n,)))

p.close()

#p.join()

for res in result:

    res.get(timeout=5)

######################################多线程pool,paramiko

import multiprocessing

import os,time

import paramiko

hosts=['192.168.1.11','192.168.1.10']

#,'192.168.1.11','192.168.1.12','192.168.1.13']

username='root'

password='123456'

port=22

name={}

d_usage={}

def cmd(hostname):

        if os.system('ping %s -c 1 &>/dev/null'%hostname)==0:

                paramiko.util.log_to_file('paramiko.log')

                s = paramiko.SSHClient()

                s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

                s.connect(hostname,port,username,password)

                stdin,stdout,stderr=s.exec_command('df -kP')

                time.sleep(2)

                d_usage['%s'%hostname]= stdout.read()

                print '---------------------------------------------'

                print d_usage['%s'%hostname]

                print stdout.read()

                s.close()

        else:

                d_usage['%s'%hostname]='host Destination Host Unreachable'

                print  'host Destination Host Unreachable'

                name={'xk':[25,'male'],'zq':[23,'male'],}

p=multiprocessing.Pool(processes=10)

for hostname in hosts:

        p.apply_async(cmd,('%s'%hostname,))

#       time.sleep(10)

time.sleep(10)

p.close()

#p.join()

#print d_usage












本文转自shangshanyang51CTO博客,原文链接: http://blog.51cto.com/qqran/1962675,如需转载请自行联系原作者



相关文章
|
11天前
|
并行计算 Python
Python中的并发编程(2)线程的实现
Python中的并发编程(2)线程的实现
Python中的并发编程(2)线程的实现
|
6天前
|
安全 Java Python
GIL是Python解释器的锁,确保单个进程中字节码执行的串行化,以保护内存管理,但限制了多线程并行性。
【6月更文挑战第20天】GIL是Python解释器的锁,确保单个进程中字节码执行的串行化,以保护内存管理,但限制了多线程并行性。线程池通过预创建线程池来管理资源,减少线程创建销毁开销,提高效率。示例展示了如何使用Python实现一个简单的线程池,用于执行多个耗时任务。
18 6
|
1天前
|
算法 API 调度
|
2天前
|
SQL 分布式计算 大数据
MaxCompute产品使用问题之建了一个python 的 UDF脚本,生成函数引用总是说类不存在,是什么导致的
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
10天前
|
运维 监控 API
自动化运维实践指南:Python脚本优化服务器管理任务
本文探讨了Python在自动化运维中的应用,介绍了使用Python脚本优化服务器管理的四个关键步骤:1) 安装必备库如paramiko、psutil和requests;2) 使用paramiko进行远程命令执行;3) 利用psutil监控系统资源;4) 结合requests自动化软件部署。这些示例展示了Python如何提升运维效率和系统稳定性。
29 8
|
9天前
|
数据挖掘 调度 开发者
Python并发编程的艺术:掌握线程、进程与协程的同步技巧
并发编程在Python中涵盖线程、进程和协程,用于优化IO操作和响应速度。`threading`模块支持线程,`multiprocessing`处理进程,而`asyncio`则用于协程。线程通过Lock和Condition Objects同步,进程使用Queue和Pipe通信。协程利用异步事件循环避免上下文切换。了解并发模型及同步技术是提升Python应用性能的关键。
34 5
|
7天前
|
数据采集 自然语言处理 调度
【干货】python多进程和多线程谁更快
【干货】python多进程和多线程谁更快
12 2
|
11天前
|
Java Python
Python中的并发编程(3)线程池、锁
Python中的并发编程(3)线程池、锁
|
11天前
|
存储 JSON 算法
Python中的并发编程(4)多线程发送网络请求
Python中的并发编程(4)多线程发送网络请求
|
1天前
|
开发者 Python
在Python中获取当前线程的名字
在Python中获取当前线程的名字 原
3 0