- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 关于进程、线程、协程的几点总结
1.多进程是资源分配的单位。2.线程是操作系统调度的单位(代码是在线程中执行的)。3.进程切换需要的资源最大,效率很低,但是最稳定。4.线程切换需要的资源一般,效率一般。5.协程切换任务需要的资源最小,效率高。6.多进程、多线程根据cpu核数的不一样可能是并行的,但是协程一定是并发的。7.线程依赖于进程,协程依赖于线程。8.进程中默认会有一个线程,我们称之为主线程。...
2020-12-05 16:05:25
139
原创 python之协程创建
协程,是充分利用cpu给该线程的时间,在一个线程里放置多个任务,当某个任务阻塞时就执行下一个任务。其特点是能够记住这些任务执行到哪一步了,下次再执行该任务的时候回从上次阻塞的地方继续开始。创建协程需要使用gevent模块。代码如下:import gevent'''gevent协程中,遇到需要耗费时间的操作就会跳转到下一个任务。 但是此处的延时、堵塞或者其他耗时的操作,都必须换到gevent模块下的'''。def f(n): for i in range(n): prin
2020-12-04 23:01:37
505
原创 python多进程创建
进程相当于是一个工作车间,里面可以有很多流水线(线程)。使用multiprocessing来创建进程对象。代码如下:import multiprocessingnum = 0def add1(n): global num for i in range(n): num += 1 print(num)def add2(n): global num for i in range(n): num += 1 print(
2020-12-03 22:44:59
377
原创 python多线程创建
多线程指从软件或者硬件上实现多个线程并发执行的技术,在python中,通过threading模块中的Thread类来创建线程对象,然后调用start()方法来执行该线程。import threadingdef sing(): print("唱歌") def dance(): print("跳舞")def main(): # 创建线程对象 t1 = threading.Thread(target=sing) t2 = threading.Thread(target=dance)
2020-11-27 00:06:41
249
1
原创 python中出现SyntaxError: ‘break‘ outside loop的原因
break只能用于while循环或者for循环中,如果在if条件语句下使用则会报错:SyntaxError: ‘break’ outside loop。但是如果if条件语句是套在while循环或者for循环内部的,则break可以使用。例如:if i == "1": break # 这里使用break会报错而在while循环或者for循环中则不会:while True: if i == "1": break # 这里则不会报错,程序运行到这里将结束循环总结,break是用于结束循
2020-11-22 23:23:35
37171
原创 python网络编程之socket模块收发数据
socket模块是网络通信的基础,在socket模块中的socket()函数是用来创建套接字对象。要创建套接字,必须使用socket.socket()函数,一般语法如下:socket.socket(socket_family,socket_type)socket_family是AF_INET(面向网络的)或AF_UNIX(基于文件的),socket_type是SOCK_STREAM(传输控制协议TCP)或SOCK_DGRAM(用户数据报协议UDP)。下面是创建两种套接字的方法:import sock
2020-11-22 13:03:12
1198
原创 selenium学习笔记之元素定位
selenium学习笔记之元素定位Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。首先需要创建浏览器驱动:from selenium import webdriver#创建浏览器驱动driver = webdriver.Chrome(executable_path ='D:\Super\chromedriver.exe')注意:这里需要先下载与浏览器相对应的driver(详情请百度),并将之保存在纯英文的文件夹下。然后利用
2020-11-15 00:05:37
167
原创 python之queue使用中timeout讲解。
queue模块中的get()方法有一个可选参数timeout。默认状态下timeout=None,即当队列中没有数据时,程序将处于阻塞等待状态,直到队列中又有数据为止。如果一直没有新的数据加入队列,则程序将出现卡死现象。下面展示一些 内联代码片。import queueq = queue.Queue(5)for i in range(5): #将0-4加入队列中 q.put(i)for i in range(6): #在队列中去数据,取了6次,则最后一次将无值可取。
2020-10-13 23:42:59
7601
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人