
python进,线,协程
背后——NULL
保持善良!
展开
-
python笔记(进程的基本概念)
1、进程: 第一,进程是一个容器。每一个进程都有它自己的地址空间,一般情况下,包括文本区域( text region)、数据区域(data region)和堆栈(stack region)。 文本区域存储处理器执行的代码;数据区城存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储看活动过程调用的指令和本地变量。 第二,进程是一个"执行中的程序"。程序是一个没有生命的实体,只有处理器赋予程序生...原创 2018-12-31 10:23:22 · 168 阅读 · 0 评论 -
python笔记(进程编写方式,join,隔离,守护进程,进程锁)
一、进程的几个方法 from multiprocessing import Process import os import time def func(arg): print(arg) print(12345) time.sleep(1) print('子进程:',os.getpid()) print('子进程的父进程') #查看子进程的父进程 ...原创 2018-12-31 10:50:07 · 300 阅读 · 0 评论 -
python笔记(进程中的组件:事件,信号量,队列,管道,数据共享)
一、多进程中的组件(信号量):某一段代码同一时间只能被n个进程执行 from multiprocessing import Process,Semaphore def func(i,sem): sem.acquire() #获取要钥匙 print(i) sem.release() #换钥匙 for i in range(10): sem = Semaphor...原创 2018-12-31 11:29:17 · 321 阅读 · 0 评论 -
python笔记(进程池,爬虫示类)
一、进程池 1、 每开启进程,开启属于这个进程的内存空间(寄存器 堆栈 文件),进程越多操作系统的调度越频繁 2、进程池: (1)python中的 先创建一个属于进程的池子 (2)这个池子指定能存放多少个进程 (3)先将这些进程建好 3、更高级的进程池(有上下限) from multiprocessing import Pool,Process import time def func(n): ...原创 2018-12-31 11:53:56 · 336 阅读 · 0 评论 -
pthon笔记(线程:数据共享,GIL锁,线程基本方法,守护线程,递归锁)
一、线程 1、能独立运行的基本单位————线程 2、进程的创建,撤销,与切换存在较大的时空开销,因此需要引进轻型进程 3、进程是资源分配的最小单位,线程是cpu调度的最小单位,每一个进程至少有一个线程 4、进程是车间,线程是车间中的每一个工人 5、进程中可以开启多个线程 (1)开启一个线程所需的时间要远远小于开启一个进程 (2)多个线程内部有自己的数据栈,数据不共享 (3)全局变量在多个线程之间是...原创 2019-01-16 17:32:05 · 181 阅读 · 0 评论 -
python笔记(线程组件:事件、条件、定时器、队列、线程池)
一、线程组件 1、信号量:同一时间只能有n个线程被执行 from threading import Semaphore,Thread import time def func(sem,a,b): sem.acquire() time.sleep(1) print(a + b) sem.release() se...原创 2019-01-16 19:59:27 · 324 阅读 · 0 评论 -
python笔记(复习题)
1、常用字符串格式化有哪些?并说明他们的区别 format:直接调用函数,%s:语法糖,%r 2、请写出【元祖,列表,字典,集合】的定义方法、新增方法、更改方法、删除方法 3、利用 python打印前一天的本地时间,格式为‘2018-01-30(面试题) 时间戳时间 - (606024)转换成格式化时间strftime 4、python中 search()和 match()的区别(面试题) 相同点...原创 2019-01-16 20:09:07 · 1584 阅读 · 0 评论 -
python笔记(协程)
一、协程 1、本质上是一个线程 2、能够在多个任务之间切换来节省一些IO时间 3、协程中任务之间的切换也消耗时间,但是开销要远远小于进程线程之间的切换,实现并发的手段 def consumer(): while True: x = yield # 生成器函数 print('处理了数据:', x) def producer(): c = cons...原创 2019-01-16 20:57:35 · 286 阅读 · 0 评论 -
python笔记(IO模型)
一、IO模型: 1、blocking IO 阻塞IO server端: import socket sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.setblocking(False) #把socket当中所有需要阻塞的方法改成非阻塞:recv,recvfrome,accept sk.listen(5) conn_l = [] #用来存...原创 2019-01-16 21:20:18 · 153 阅读 · 0 评论