我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 通过threading多线

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 通过threading多线

#!/usr/bin/env python
#coding=utf-8
import paramiko
import time,datetime,threading




def ssh(ip,user,passwd,command):
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        ssh.connect(ip,port=16333,username=user,password=passwd)
    except paramiko.AuthenticationException:
        #print "验证失败,用户名或密码错误."
        return 0
    except:
        #print 'ip',"主机不可达。"
        return 2
    stdin, stdout, stderr = ssh.exec_command(command)
    lines = [line.strip() for line in stdout.readlines()]
    data_include_firstline = "".join(lines)
    data_no_firstline = "".join(lines[1:])
    return data_include_firstline




def sshcmd(class="lazy" data-src,linerange): 
    i = 0
    for line in open(class="lazy" data-src):
        i += 1
        if i in range(linerange[0],linerange[1]+1): 
            ip = line.strip()
            user = 'root'
            port = 16333
            passwd = '123qwe'
            command = 'hostname'
            result = ssh(ip,user,passwd,command)
            if result == 0:
                result = '验证失败,用户名或密码错误.'
            elif result == 2:
                result = '主机不可达.'
            print i,ip,result
def main(num,class="lazy" data-src):
    global count, mutex
    linesum = sum(1 for line in open(class="lazy" data-src))
    quotient = linesum/num
    threads = []
    # 创建一个锁
    mutex = threading.Lock()
    # 先创建线程对象
    for k in xrange(1, num+1):
        if k == num:
            linerange = quotient*(k-1)+1,linesum
        else:
            linerange = quotient*(k-1)+1,quotient*k
        threads.append(threading.Thread(target=sshcmd, args=(class="lazy" data-src,linerange)))
    # 启动所有线程
    for t in threads:
        t.start()
    # 主线程中等待所有子线程退出
    for t in threads:
        t.join()  


starttime = datetime.datetime.now() 
if __name__ == '__main__':
    # 创建10个线程
    main(10,'ip.txt')
endtime = datetime.datetime.now()
print "time span",endtime-starttime

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 通过threading多线

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 通过threading多线

#!/usr/bin/env python#coding=utf-8import paramikoimport time,datetime,threadingdef ssh(ip,user,passwd,command):    ssh =
2023-01-31

python多线程threading

本文通过 4个example 介绍python中多线程package —— threading的常用用法, 包括调用多线程, 同步队列类Queue, Ctrl+c结束多线程。example1. 调用10个线程, 分别打印0~4, 每打印一个
2023-01-31

python threading多线程p

#!/usr/bin/env python                                                                                       #_*_coding:u
2023-01-31

Python 多线程threading模

首先,我们在了解多线程时需要理解的就是什么是多线程,按照官方的解释就是:多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。    在我自学到这里的时候,通过会在想进程和线程到底是有什么区别,我的理
2023-01-31

Python多线程threading用法

Python里面经常会用到多线程,即所有的方法在同一时间开始运行,而不是按顺序一个一 个运行。所用到的模块为threading,下面详解threading用法。 我们写三个方法,one、two、three并正常运行。 这里只截图了one()
2023-01-31

Python用threading实现多线程详解

多线程 多线程是个提高程序运行效率的好办法,本来要顺序执行的程序现在可以并行执行,可想而知效率要提高很多。但是多线程也不是能提高所有程序的效率。程序的两个极端是‘CPU 密集型'和‘I/O 密集型'两种,多线程技术比较适用于后者,因为在串行
2022-06-04

Python线程之threading

线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。进程是资源分配的最小单位,线程是CPU调度的最小单位,每一个进程中至少有一个线程,线程可与属于同一进程的其它线
2023-01-31

在Python中通过threading模块定义和调用线程的方法

定义线程 最简单的方法:使用target指定线程要执行的目标函数,再使用start()启动。 语法:class threading.Thread(group=None, target=None, name=None, args=(), kw
2022-06-04

python threading超线程使

在工作过程中中,将内容过程中经常用的内容片段珍藏起来,下面内容段是关于python threading超线程使用简单范例的内容,希望能对小伙伴们有较大帮助。# encoding: UTF-8import threading# 方法1:将要执
2023-01-31

python多线程————3、多线程间通

1、共享变量#通过共享变量import timeimport threadingurl_list = []def get_detail_html(): global url_list while True: if
2023-01-31

python中怎么实现threading线程同步

小编给大家分享一下python中怎么实现threading线程同步,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!说明1、threading模块具有实现锁定的内置功能,允许同步线程。为了防止数据损坏或丢失,需要锁定来控制共享
2023-06-20

Java通过卖票理解多线程

以卖票的例子来介绍多线程和资源共享,下面我们来看看为什么要用卖票作为例子。  卖票是包含一系列动作的过程,有各种操作,例如查询票、收钱、数钱、出票等,其中有一个操作是每次卖掉一张,就将总的票数减去1。有10张票,如果一个人卖
2023-05-31

python中threading实现线程的示例分析

小编给大家分享一下python中threading实现线程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!过程说明1、从Thread类构成子类。覆盖方法根
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录