美文网首页周记
周记 2017 5.1 - 5.7

周记 2017 5.1 - 5.7

作者: 小程有话说 | 来源:发表于2017-05-05 16:07 被阅读23次

Python协程

参考:廖雪峰Python教程

在上周周记中提到了Python中使用线程提升执行效率问题。

单线程操作(Python3.5):

import time
import datetime


def task1(n):
    print('task1 begin:', n)
    time.sleep(1)  # 等待1秒 假设这是个I/O操作
    print('task1 end.')


if __name__ == '__main__':  # 总共耗时10秒
    for i in range(10):
        task1(i)

多线程操作:

import time
import datetime
from multiprocessing.dummy import Pool as ThreadPool


def task1(n):
    print('task1 begin:', n)
    time.sleep(1)
    print('task1 end.')


if __name__ == '__main__':
    pool = ThreadPool()
    tasks = [i for i in range(100)]
    before = datetime.datetime.now()
    pool.map(task1, tasks)
    # 执行100次耗时 00:00:28.120513
    print(datetime.datetime.now() - before)  
    pool.close()
    pool.join()

协程操作:

import datetime
import threading
import asyncio

@asyncio.coroutine
def task1(n):
    print('task1 begin:', n)
    yield from asyncio.sleep(1)
    print('task1 end.')


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    tasks = [task1(i) for i in range(100)]
    before = datetime.datetime.now()
    loop.run_until_complete(asyncio.wait(tasks))
    # 执行100次耗时0:00:01.044293
    print(datetime.datetime.now() - before)
    loop.close()

相比而言,协程拥有极高的执行效率,省去了线程之间切换的代价,从而提升了执行速度。

好用的Intellij IDEA插件

CheckStyle-IDEA:代码规范检查(可自定义规范,比如每行代码不能超过多少列,如果项目组统一代码规范是个很好的工具)。
FindBugs-IDEA:潜在Bug检查,能提前找出忽略的细节。
Statistic:代码统计,统计js、java代码行等相关数据。
CodeGlance:类似 Sublime Text2 在右侧产生代码缩略图。
GsonFormat:把 JSON 字符串直接实例化成类。

相关文章

  • 周记 2017 5.1 - 5.7

    Python协程 参考:廖雪峰Python教程 在上周周记中提到了Python中使用线程提升执行效率问题。 单线程...

  • 周检视5月第一周

    周检视Ariesyang 2017年5月第1周(5.1-5.7) 1. 叫我起床的不是闹钟是梦想 2017年度目标...

  • 5.1-5.7--2017周检视

    家庭,亲子,亲密关系: 五一休息期间,带铭去华侨公园,带铭去天华美地儿童设施场地玩,带铭到石榴园~ 线上跑活动奖牌...

  • 2017-5.1-5.7周训练记录

    5.1 周一 休息,劳动节。吃饭看电影,睡觉。 5.2 周二 晨跑6.6km,练完腿臀都会疼好几天。今天跑得很勉强...

  • 周总结 5.1-5.7

    周总结 5.1-5.7 1.工作:新增了部分工作。新CHO上任,兼任其临时助理,安排会议,梳理会议纪要,提醒他部分...

  • 2017 五月(5.1-5.7)周总结

    关键词(日清、思维导图) 计划→数据 生活: a 静坐 3天 b 营养早餐 4天 c 英语学习 2天 d每天一个T...

  • 2017W18 | 5.1--5.7 周总结

    You think you know someone.But mostly you just know what ...

  • 开发周记及问答系列集v0.1

    开发周记(2017/3/26-2017/4/2) 开发周记(2017/4/3-2017/4/9) 开发周记(201...

  • 背诵任务

    4.27 4.28 4.29 4.30 5.1 5.2 5.3 5.4 5.6 5.7 5.8 5.9 5.10

  • 易效能90天践行——周检视

    5.1~5.7一周过去了,在这一周中坚持早起早睡,早起最早5:20,最晚5:54!早睡在10:22,最晚11...

网友评论

    本文标题:周记 2017 5.1 - 5.7

    本文链接:https://www.haomeiwen.com/subject/zxkstxtx.html