import threadfrom time import sleep, ctime loops = [4,2]def loop0(): print 'start loop 0 at:', ctime() sleep(4) print 'loop 0 done at:', ctime() def l ...
分类:
编程语言 时间:
2020-04-14 16:37:04
阅读次数:
128
import timefrom threading import Threaddef long_io(cb): def func(callback): print("开始耗时操作io") time.sleep(5) print("io耗时操作完成") res = "io res" callback( ...
分类:
编程语言 时间:
2020-04-11 23:43:31
阅读次数:
87
一、线程创建方法 1. 普通创建 import threadingdef run(name): for i in range(3): print(name) if __name__ == '__main__': t1 = threading.Thread(target=run, args=("t1" ...
分类:
编程语言 时间:
2020-04-11 11:30:29
阅读次数:
86
很多时候我们写了一个爬虫,实现了需求后会发现了很多值得改进的地方,其中很重要的一点就是爬取速度。本文 就通过代码讲解如何使用 多进程、多线程、协程 来提升爬取速度。注意:我们不深入介绍理论和原理,一切都在代码中。 二、同步 首先我们写一个简化的爬虫,对各个功能细分,有意识进行函数式编程。下面代码的目 ...
分类:
编程语言 时间:
2020-04-07 15:36:54
阅读次数:
98
前言 线程:单个进程中执行中每个任务就是一个线程。线程是进程中执行运算的最小单位,代码/数据/文件是共享的。 就好像看作一个进程中还有多个线程执行任务,简单点来说就是一个程序运行中有多个线程在执行。 一、初识多线程 1、函数中多线程: # 初识多线程:threading from threading ...
分类:
编程语言 时间:
2020-03-29 12:51:46
阅读次数:
97
Python启动Appium 服务 使用Dos命令或者bat批处理来手动启动appium服务,启动效率低下。如何将启动Appium服务也实现自动化呢? 这里需要使用subprocess模块,该模块可以创建新的进程,并且连接到进程的输入、输出、错误等管道信息,并且可以获取进程的返回值。subproce ...
分类:
移动开发 时间:
2020-03-24 11:16:09
阅读次数:
193
``` from concurrent.futures import ThreadPoolExecutor import time def task(a1,a2): time.sleep(1) print("{},{}".format(a1, a2,)) if __name__ == '__main... ...
分类:
编程语言 时间:
2020-03-11 00:56:40
阅读次数:
55
```import threading# lock = threading.RLock()# RLock 递归锁lock = threading.RLock() Counter = [0]def add(C): lock.acquire() C[0] = C[0] + 1 lock.release(... ...
分类:
编程语言 时间:
2020-03-09 15:09:46
阅读次数:
65
目录 1. 并发,并行的理解 2. 用代码实现多线程爬虫 ...
分类:
编程语言 时间:
2020-02-29 13:27:56
阅读次数:
62
python 多线程执行函数,以及调用函数时传参 import threading def func1(): print('this is function1') def func2(x,y): print('this is function2') print(x+y) threads = [] t ...
分类:
编程语言 时间:
2020-02-13 14:58:23
阅读次数:
70