Python 异步

from multiprocessing import Pool import time import os   def test():     print("---进程池中的进程---pid=%d,ppid=%d--"%(os.getpid(),os...

2018-11-22 15:25:09

阅读数 57

评论数 0

Python之 ThreadLocal

在多线程环境下,每个线程都有⾃⼰的数据。 ⼀个线程使⽤⾃⼰的局部变量 ⽐使⽤全局变量好,因为局部变量只有线程⾃⼰能看⻅,不会影响其他线 程,⽽全局变量的修改必须加锁     ⼀个ThreadLocal变量虽然是全局变量,但每个线程都只能读写⾃⼰线程的独 ⽴副本,互不⼲扰。ThreadLoc...

2018-11-22 15:23:52

阅读数 126

评论数 0

python 多线程-⾮共享数据 死锁以及 ⽣产者与消费者模式

在多线程开发中,全局变量是多个线程都共享的数据, ⽽局部变量等是 各⾃线程的,是⾮共享的   1. 死锁 在线程间共享多个资源的时候,如果两个线程分别占有⼀部分资源并且同时 等待对⽅的资源,就会造成死锁。 尽管死锁很少发⽣,但⼀旦发⽣就会造成应⽤的停⽌响应。下⾯看⼀个死锁 的例⼦ ...

2018-11-22 15:22:06

阅读数 81

评论数 0

Python 线程安全问题

在⼀个进程内的所有线程共享全局变量,能够在不使⽤其他⽅式的前提 下完成多线程之间的数据共享(这点要⽐多进程要好)  缺点就是,线程是对全局变量随意遂改可能造成多线程之间对全局变量 的混乱(即线程⾮安全) 同步:   假设两个线程t1和t2都要对num=0进⾏增1运算,t1和t2都...

2018-11-22 15:19:01

阅读数 337

评论数 0

Python 同步 上锁解锁过程

同步就是协同步调,按预定的先后次序进⾏运⾏ #创建锁  mutex = threading.Lock() #锁定  mutex.acquire([blocking])  #释放 mutex.release() 其中,锁定⽅法acquire可以有⼀个blocking参数。 如果设...

2018-11-22 15:17:48

阅读数 93

评论数 0

python 之 多线程

类似于进程, 主进程都是晚于子进程结束,目的就是为了回收子进程占用的内存.....如果子进程结束了,主进程在没有为其回收的这一段时间,子线程被称为僵尸进程,   如果主进程结束了,子进程却没有回收,子进程被称为孤儿进程. 该进程结束时由一号进程进行收拢   主进程的id 一般都比子进程的 ...

2018-11-22 15:16:01

阅读数 35

评论数 0

Python 进程间通信

进程间通信 --------->>  队列,命名管道,无名管道 内存映射   ********************************************************* 可以使⽤multiprocessing模块的Queue...

2018-11-22 15:14:04

阅读数 50

评论数 1

python之进程池

初始化Pool时,可以指定⼀个最⼤进程数, 当有新的请求提交到Pool中时, 如果池还没有满,那么就会创建⼀个新的进程⽤来执⾏该请求; 但如果池中 的进程数已经达到指定的最⼤值,那么该请求就会等待,直到池中有进程结 束,才会创建新的进程来执行 from multiprocessing ...

2018-08-16 12:01:37

阅读数 453

评论数 0

python元类 图要改 上

python一切都是对象,linux 一切都是文件 python中类也是一种对象,只要使用class ,python解释器就会在执行时创建一个对象 直接在类里面写print("sss");  在调用这个py文件的时候,自动就会打印 甚至可以直接print(...

2018-08-16 11:42:23

阅读数 27

评论数 0

python 元类之 meta_class属性 图要改

你可以在定义一个类的时候为其添加__metaclass__属性 (python2--->__metaclass__    python3--->metaclass) class Foo(Bar): pass   Python做了如下的操作:  ...

2018-08-16 11:42:10

阅读数 77

评论数 0

Python之进程: multiprocessing 跨平台版本的fork

由于 Windows没有fork调⽤ Python是跨平台的,⾃然也应该提供⼀个跨平台的多进程⽀持。 multiprocessing模块就是跨平台版本的多进程模块。 ⽗进程、⼦进程执⾏顺序没有规律,完全取决于操作系统的调度算法   multiprocessing模块提供了⼀个Process类来...

2018-08-08 15:22:44

阅读数 137

评论数 0

进程的创建-Process⼦类 与 进程池

 Process子类创建进程   创建新的进程还能够使⽤类的⽅式,可以⾃定义⼀个类,继承Process类,每 次实例化这个类的时候,就等同于实例化⼀个进程对象 from multiprocessing import Process import time class MyNewProces...

2018-08-08 15:21:41

阅读数 79

评论数 0

Python之进程与任务

编写完毕的代码,在没有运⾏的时候,称之为程序 正在运⾏着的代码,就成为进程 进程,除了包含代码以外,还有需要运⾏的环境等,所以和程序是有区别的 Python的os模块封装了常⻅的系统调⽤,其中就包括fork,可以在Python程 序中轻松创建⼦进程 import os # 注意,fork...

2018-08-08 15:21:32

阅读数 37

评论数 0

Python 切片与迭代

L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']   >>> L[0:3] ['Michael', 'Sarah', 'Tracy'] L[0:3]表示,从索引0开始取,直...

2018-08-08 15:21:22

阅读数 28

评论数 0

python 列表生成式 人生苦短我用Python

列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)): >&am...

2018-08-08 15:21:08

阅读数 113

评论数 0

python 之 functools 偏函数 和 集合 set

   (本来都是随手放在QQ收藏当笔记,太多了卡了起来,就写到博客,随意了点,见谅)   wraps函数 使⽤装饰器时,有⼀些细节需要被注意。例如,被装饰后的函数其实已经是 另外⼀个函数了(函数名等函数属性会发⽣改变)。 添加后由于函数名和函数的doc发⽣了改变,对测试结果有⼀些影响 ...

2018-08-08 15:20:44

阅读数 24

评论数 0

Python常用的内建函数

Build-in Function,启动python解释器,输⼊ dir(__builtins__) , 可以看到 很多python解释器启动后默认加载的属性和函数,这些函数称之为内建函 数, 这些函数因为在编程时使⽤较多,cpython解释器⽤c语⾔实现了这些函 数,启动解释器 时默认加载。 ...

2018-08-08 15:20:25

阅读数 63

评论数 0

Python 生成器 重点中的重点 生成器:generator

列表a =[x * 2  for x in range(10)]   0到9,都会乘以2 把10 改成  10000000就会报错,内存不够,就会被杀死 在Python中,这种一边循环一边计算的机制,称为生成器:generator generator保存的是算法 把中括号换成小括号 变成生...

2018-08-08 13:26:43

阅读数 62

评论数 0

Python 类来作为装饰器

用类来当做装饰器 , 当Python解释器执行到这里的时候, 就会创建这个类的一个对象,来进行装饰.   相当于创建了一个Test对象,并将test这个函数的引用传了过去. Test对象--->test = Test (test)<-----函...

2018-08-08 13:26:13

阅读数 139

评论数 0

Python动态添加方法和属性

Python是动态语言,可以在运行时改变结构的语言:例如新的函数,对象 静态语言:运行之前必须先编译,编译不过就运行不了,运行时不能修改代码 给对象添加属性 : 15行会报错,因为类并没有添加属性  给类添加属性:  第17行的操作,不会报错      class Person(obj...

2018-08-07 16:36:14

阅读数 885

评论数 0

提示
确定要删除当前文章?
取消 删除