''' python提供了一些复杂的工具用于管理使用进程和线程的并发操作. 通过应用这些计数,使用这些模块并发地运行作业的各个部分,即便是一些相当简单的程序也可以更快的运行 subprocess提供了一个API可以创建子进程并与之通信 这对于运行生产或消费文本的程序尤其有好处,因为这个API支持通过新进程的标准输入和输出通道来回传递数据. signal模块提供了unix信号机制,可以向其他进程发送事件.信号会被异步处理,通常信号到来时要中断程序正在做的工作. 信号作为一个粗粒度的消息系统会很有用…
I.进程: II.多线程threading总结 threading用于提供线程相关的操作,线程是应用系统中工作的最小单位(cpu调用的最小单位). Python当前版本的多线程没有实现优先级,线程组,线程也不能被停止,暂停,恢复,中断. threading模块提供的类: Thread,Lock,Rlock,Condition,Semaphore,Event,Timer,local. threading 模块提供的常用方法: threading.currentThread()  :返回当前的线程变…
目录 进程 线程 协程  上下文切换 前言:线程和进程的关系图 由下图可知,在每个应用程序执行的过程中,都会去产生一个主进程和主线程来完成工作,当我们需要并发的执行的时候,就会通过主进程去生成一系列的子进程(然后通过子进程产生一系列的子线程)来使不同的cpu调用,从而达到并发的效果.但是需要注意的是,在一般情况下每个进程之间是相互独立的. GIL全局解释器锁在Python中是独有的,java和c#中都没有,他的作用主要是什么呢?我们都知道程序的执行最小单元是线程,在cpu1通过进程来调用线程的时…
1. queue线程安全的FIFO实现 queue模块提供了一个适用于多线程编程的先进先出(FIFO,first-in,first-out)数据结构,可以用来在生产者和消费者线程之间安全地传递消息或其他数据.它会为调用者处理锁定,使多个线程可以安全而容易地处理同一个Queue实例.Queue的大小(其中包含的元素个数)可能受限,以限制内存使用或处理. 1.1 基本FIFO队列 Queue类实现了一个基本的先进先出容器.使用put()将元素增加到这个序列的一端,使用get()从另一端删除. imp…
原:https://doughellmann.com/blog/the-python-3-standard-library-by-example/the-python-3-standard-library-by-example-table-of-contents/ 已经有人在维护中文翻译了:https://learnku.com/docs/pymotw 目录: 第一章:文本 string:文本常量和模板 textwrap:格式化文本句子 re:正则表达式 difflib:比对序列 第二章:数据结…
一,进程与线程 1.什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 一个线程是一个执行上下文,这是一个CPU的所有信息需要执行一系列的指令. 假设你正在读一本书,你现在想休息一下,但是你希望能够回来,恢复从你停止的位置.实现这一点的方法之一是通过草草记下页码.行号和数量.所以你读一本书的执行上下文是这三个数字. 如果你有一个室友,她使用相同的技术,她…
''' Python的标准库中包含大量工具,可以处理文件系统中的文件,构造和解析文件名,还可以检查文件内容. 处理文件的第一步是要确定处理的文件的名字.Python将文件名表示为简单的字符串,另外还提供了一些工具,可以由os.path中平台独立的标准组成部分构造文件名 pathlib模块提供了一个面向对象API来处理文件系统路径.使用这个模块而不是os.path可以提供更大的便利,因为它会在更高抽象层中完成处理 用os中的listdir函数可以列出一个文件目录中的内容,或者使用glob模块建立一…
Python3标准库 更详尽:http://blog.csdn.net/jurbo/article/details/52334345 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串准备工具 readline:GNU按行读取接口 rlcompleter:GNU按行读取的实现函数 二进制数据 struct:将字节解析为打包的二进制数据 codecs…
''' 持久存储数据以便长期使用包括两个方面:在对象的内存中表示和存储格式之间来回转换数据,以及处理转换后数据的存储区. 标准库包含很多模块可以处理不同情况下的这两个方面 有两个模块可以将对象转换为一种可传输或存储的格式(这个过程被称为序列化).最常用的是使用pickle持久存储,因为它可以与其他一些具体存储序列化数据的模块集成,如shelve. 而对基于web的应用,json更为常用,因为它能更好地与现有的web服务存储工具集成 一旦将内存中对象转化为一种可保存的格式,那么下一步就是确定如何存…
Python3标准库 操作系统接口 os模块提供了不少与操作系统相关联的函数. ? 1 2 3 4 5 6 >>> import os >>> os.getcwd()   # 返回当前的工作目录 'C:\\Python34' >>> os.chdir('/server/accesslogs')  # 修改当前的工作目录 >>> os.system('mkdir today')  # 执行系统命令 mkdir 0 建议使用 "…