python使用tomorrow实现多线程的例子

如下所示:

import time,requestes
from tomorrow import threads
@threads(10)#使用装饰器,这个函数异步执行
def  download(url):

  return requests.get(url)
def  main():
  start = time.time()
  urls = [
   'https://pypi.org/project/tomorrow/0.2.0/',
   'https://www.cnblogs.com/pyld/p/4716744.html',
   'http://www.xicidaili.com/nn/10',
   'http://baidu.com',
   'http://www.bubuko.com/infodetail-1028793.html?yyue=a21bo.50862.201879',
  ]
  responses = [download(i) for i in urls]
  end = time.time()
  print("Time: %f seconds" % (end - start))
if  __name__=="__main__":
  main()

不使用多线程:

使用多线程:

以上这篇python使用tomorrow实现多线程的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python多线程调用exit无法退出的解决方法

    python启用多线程后,调用exit出现无法退出的情况,原因是exit会抛出Systemexit的异常,如果在exit外围调用了try,就会出现ctrl+c两次才能退出的情况 解决方法: thread.setDaemon(True) thread.start() 线程启动前设置setDaemon(True) 以上这篇python多线程调用exit无法退出的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 多线程对post请求服务器测试并发的方法

    如下所示: # -*- coding: utf-8 -*- import requests import threading import time class postrequests(): def __init__(self): self.url = '请求网址' self.files = { 'unknown_image':open('刘诗诗.jpg','rb') } def post(self): try: r = requests.post(self.url,files=self.fi

  • 详解Python 多线程 Timer定时器/延迟执行、Event事件

    Timer继承子Thread类,是Thread的子类,也是线程类,具有线程的能力和特征.这个类用来定义多久执行一个函数. 它的实例是能够延迟执行目标函数的线程,在真正执行目标函数之前,都可以cancel它. Timer源码: class Timer(Thread): def __init__(self, interval, function, args=None, kwargs=None): Thread.__init__(self) self.interval = interval self.

  • Python3多线程基础知识点

    多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度 程序的运行速度可能加快 在一些等待的任务实现上如用户输入.文件读写和网络收发数据等,线程就比较有用了.在这种情况下我们可以释放一些珍贵的资源如内存占用等等. 线程在执行过程中与进程还是有区别的.每个独立的线程有一个程序运行的入口.顺序执行序列和程序的出口.但是线程不能够独立执行,必

  • python多线程并发实例及其优化

    单线程执行 python的内置模块提供了两个内置模块:thread和threading,thread是源生模块,threading是扩展模块,在thread的基础上进行了封装及改进.所以只需要使用threading这个模块就能完成并发的测试 实例 创建并启动一个单线程 import threading def myTestFunc(): print("我是一个函数") t = threading.Thread(target=myTestFunc) # 创建一个线程 t.start()

  • Python2.7实现多进程下开发多线程示例

    简单的基于Python2.7版本的多进程下开发多线程的示例,供大家参考,具体内容如下 可以使得程序执行效率至少提升10倍 #!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time : 2018/10/24 @Author : LiuXueWen @Site : @File : transfer.py @Software: PyCharm @Description: """ import os

  • Python多线程threading模块用法实例分析

    本文实例讲述了Python多线程threading模块用法.分享给大家供大家参考,具体如下: 多线程 - threading python的thread模块是比较底层的模块,python的threading模块对thread做了一些包装,可以更加方便的被使用. 1. 使用threading模块 单线程执行 #coding=utf-8 import time def saySorry(): print('跑一圈') time.sleep(1) if __name__ == "__main__&qu

  • python多线程共享变量的使用和效率方法

    python多线程可以使任务得到并发执行,但是有时候在执行多次任务的时候,变量出现"意外". import threading,time n=0 start=time.time() def b1(num): global n n=n+num n=n-num def b2(num): for i in range(1000000): b1(num) t1=threading.Thread(target=b2,args=(5,)) t2=threading.Thread(target=b2

  • python多线程抽象编程模型详解

    最近需要完成一个多线程下载的工具,对其中的多线程下载进行了一个抽象,可以对所有需要使用到多线程编程的地方统一使用这个模型来进行编写. 主要结构: 1.基于Queue标准库实现了一个类似线程池的工具,用户指定提交任务线程submitter与工作线程worker数目,所有线程分别设置为后台运行,提供等待线程运行完成的接口. 2.所有需要完成的任务抽象成task,提供单独的无参数调用方式,供worker线程调用:task以生成器的方式作为参数提供,供submitter调用. 3.所有需要进行线程交互的

  • python使用tomorrow实现多线程的例子

    如下所示: import time,requestes from tomorrow import threads @threads(10)#使用装饰器,这个函数异步执行 def download(url): return requests.get(url) def main(): start = time.time() urls = [ 'https://pypi.org/project/tomorrow/0.2.0/', 'https://www.cnblogs.com/pyld/p/4716

  • Python多进程并发与多线程并发编程实例总结

    本文实例总结了Python多进程并发与多线程并发.分享给大家供大家参考,具体如下: 这里对python支持的几种并发方式进行简单的总结. Python支持的并发分为多线程并发与多进程并发(异步IO本文不涉及).概念上来说,多进程并发即运行多个独立的程序,优势在于并发处理的任务都由操作系统管理,不足之处在于程序与各进程之间的通信和数据共享不方便:多线程并发则由程序员管理并发处理的任务,这种并发方式可以方便地在线程间共享数据(前提是不能互斥).Python对多线程和多进程的支持都比一般编程语言更高级

  • Python基于ThreadingTCPServer创建多线程代理的方法示例

    本文实例讲述了Python基于ThreadingTCPServer创建多线程代理的方法.分享给大家供大家参考,具体如下: #coding=utf8 from BaseHTTPServer import BaseHTTPRequestHandler from SocketServer import ThreadingTCPServer import gzip from StringIO import StringIO import logging logging.basicConfig(level

  • python正则表达式及使用正则表达式的例子

    正则表达式 正则表达用来匹配字符串 正则表达式匹配过程 依次拿出表达式和文本中的字符串进行比价 如果每个字符都能匹配,则匹配成功:一旦有匹配不成功的字符,则匹配失败 如果有量词和边界,则匹配过程稍微有些不同 正则表达式语法规则 语法 说明 表达式实例 匹配字符串 字符 . 匹配除换行"\n"外的任意字符串 abc abc \ 转义字符,使后一个字符改变原来的意思 a\\c a\c [...] 字符集,对应的位置可以是字符集中任意字符,字符集中的字符可以逐个列出,也可以给出范围,如[ab

  • Python编程scoketServer实现多线程同步实例代码

    本文研究的主要是Python编程scoketServer实现多线程同步的相关内容,具体介绍如下. 开发过程中,为了实现不同的客户端同一时刻只能有一个使用共同数据. 虽说用Python编写简单的网络程序很方便,但复杂一点的网络程序还是用现成的框架比较好.这样就可以专心事务逻辑,而不是套接字的各种细节.SocketServer模块简化了编写网络服务程序的任务.同时SocketServer模块也是Python标准库中很多服务器框架的基础. 网络服务类: SocketServer提供了4个基本的服务类:

  • Python实现的自定义多线程多进程类示例

    本文实例讲述了Python实现的自定义多线程多进程类.分享给大家供大家参考,具体如下: 最近经常使用到对大量文件进行操作的程序以前每次写的时候都要在函数中再写一个多线程多进程的函数,做了些重复的工作遇到新的任务时还要重写,因此将多线程与多进程的一些简单功能写成一个类,方便使用.功能简单只为以后方便使用. 使用中发现bug会再进行更新 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/5/10 12:47 # @Author

  • Python网络编程基于多线程实现多用户全双工聊天功能示例

    本文实例讲述了Python网络编程基于多线程实现多用户全双工聊天功能.分享给大家供大家参考,具体如下: 在前面一篇<Python网络编程使用select实现socket全双工异步通信功能>中,我们实现了1对1的异步通信,在文章结尾,给出了多对多通信的思路. 既然说了,咱就动手试一试,本次用的是多线程来实现,正好练练手- 首先讲一下思路: 我们将服务器做为中转站来处理信息,一方面与客户端互动,另一方面进行消息转发. 大体思路确定下来后,需要确定一些通信规则: 1. 客户端与服务器建立连接后,需要

  • python 执行终端/控制台命令的例子

    如下所示: import os os.system() os.popen().read().strip() #上面2种方法 是python 执行终端/控制台 命令的常见方法 #os.system('ping www.baidu.com') 执行成功 返回 0 #ping = os.popen('pint www.baidu.com').read().strip() 返回输出结果 #注:os.system() 执行完成 会关闭 所以当执行后续 命令需要依赖前面的命令时,请将多条命令写到一个 os.

  • python实现中文文本分句的例子

    对于英文文本分句比较简单,只要根据终结符"."划分就好,中文文本分句看似很简单,但是实现时会遇到很多麻烦,尤其是处理社交媒体数据时,会遇到文本格式不规范等问题. 下面代码针对一段一段的短文本组成了文档分句 import re def cut_sent(infile, outfile): cutLineFlag = ["?", "!", ".","-"] #本文使用的终结符,可以修改 sentenceList

  • Python 列表去重去除空字符的例子

    如下所示: # x = ['c b a',"e d f"] # y = [] # for i in x: # for ii in i: # # print(ii) # if ii == ' ': # pass # else: # y.append(ii) # print(y) # python 清除列表中的空字符 # list1 = ['122','2333','3444',' ','422',' ',' ','54',' '] # 第一种方法会导致最后一个' '没有被移除掉['122

随机推荐