Fork me on GitHub
上一页 1 ··· 6 7 8 9 10 11 12 下一页
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!在初步了解Python多进程之后,我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。进程池进程池 (Process Pool)可以创建多个进程。这些进程就像是随时待命的士兵,准备执行任务(程序)。一个进程池中可以容纳多个待命的士兵。“三个进程的进程池”比如下面的程序:import multiprocessing as muldef f(x): return x**2pool = mul.Pool(5)rel = poo... 阅读全文
posted @ 2012-10-13 12:04 Vamei 阅读(37141) 评论(7) 推荐(7) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!我们已经见过了使用subprocess包来创建子进程,但这个包有两个很大的局限性:1) 我们总是让subprocess运行外部的程序,而不是运行一个Python脚本内部编写的函数。2) 进程间只通过管道进行文本交流。以上限制了我们将subprocess包应用到更广泛的多进程任务。(这样的比较实际是不公平的,因为subprocessing本身就是设计成为一个shell,而不是一个多进程管理包)threading和multiprocessing (请尽量先阅读Python多线程与同步 阅读全文
posted @ 2012-10-12 22:25 Vamei 阅读(129992) 评论(41) 推荐(12) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!我们在Linux的概念与体系,多次提及进程的重要性。Python的os包中有查询和修改进程信息的函数。学习Python的这些工具也有助于理解Linux体系。进程信息os包中相关函数如下... 阅读全文
posted @ 2012-10-12 14:44 Vamei 阅读(20852) 评论(0) 推荐(5) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!Python主要通过标准库中的threading包来实现多线程。在当今网络时代,每个服务器都会接收到大量的请求。服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率。Python是一种网络服务器的后台工作语言 (比如豆瓣网),所以多线程也就很自然被Python语言支持。(关于多线程的原理和C实现方法,请参考我之前写的Linux多线程与同步,要了解race condition, mutex和condition variable的概念)多线程售票以及同步我们使用Pyt 阅读全文
posted @ 2012-10-11 18:27 Vamei 阅读(48327) 评论(21) 推荐(13) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 基于该系列教材,已出版《树莓派开始,玩转Linux》一书。 哪里来的树莓派 01. 树莓派:一个关于教育的故事 02. 树莓派心脏:ARM的逆袭 03. 树莓派的大脑:Linux 体 阅读全文
posted @ 2012-10-10 15:29 Vamei 阅读(114792) 评论(17) 推荐(57) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我们在Linux信号基础中已经说明,信号可以看作一种粗糙的进程间通信(IPC, interprocess communication)的方式,用以向进程封闭的内存空间传递信息。为了让 阅读全文
posted @ 2012-10-10 12:39 Vamei 阅读(34866) 评论(14) 推荐(13) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 典型的UNIX系统都支持一个进程创建多个线程(thread)。在Linux进程基础中提到,Linux以进程为单位组织操作,Linux中的线程也都基于进程。尽管实现方式有异于其它的UN 阅读全文
posted @ 2012-10-09 23:34 Vamei 阅读(61480) 评论(21) 推荐(17) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 计算机如何执行进程呢?这是计算机运行的核心问题。即使已经编写好程序,但程序是死的。只有活的进程才能产出。我们已经从Linux进程基础中了解了进程。现在我们看一下从程序到进程的漫漫征程 阅读全文
posted @ 2012-10-09 17:10 Vamei 阅读(26865) 评论(15) 推荐(21) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Linux的用户在登录(login)之后,就带有一个用户身份(user ID, UID)和一个组身份(group ID, GID)。在Linux文件管理背景知识中,我们又看到,每个文 阅读全文
posted @ 2012-10-07 15:07 Vamei 阅读(21911) 评论(6) 推荐(8) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Linux的进程相互之间有一定的关系。比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构。我们在这里讲解进程组和会话,以便 阅读全文
posted @ 2012-10-07 09:42 Vamei 阅读(36611) 评论(14) 推荐(15) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!在了解了Linux的信号基础之后,Python标准库中的signal包就很容易学习和理解。signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂停并等待信号,以及定时发出SIGALRM等。要注意,signal包主要是针对UNIX平台(比如Linux, MAC OS),而Windows内核中由于对信号机制的支持不充分,所以在Windows上的Python不能发挥信号系统的功能。定义信号名signal包定义了各个信号名及其对应的整数,比如import s 阅读全文
posted @ 2012-10-06 15:29 Vamei 阅读(40360) 评论(7) 推荐(8) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! Linux进程基础一文中已经提到,Linux以进程为单位来执行程序。我们可以将计算机看作一个大楼,内核(kernel)是大楼的管理员,进程是大楼的房客。每个进程拥有一个独立的房间(属 阅读全文
posted @ 2012-10-04 23:48 Vamei 阅读(29598) 评论(11) 推荐(7) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!谢谢Tolbkni Kao帮我纠正错误 这里的内容以Linux进程基础和Linux文本流为基础。subprocess包主要功能是执行外部的命令和程序。比如说,我需要使用wget下载文件。我在Python中调用wget程序。从这个意义上来说,subprocess的功能与shell类似。subprocess以及常用的封装函数当我们运行python的时候,我们都是在创建并运行一个进程。正如我们在Linux进程基础中介绍的那样,一个进程可以fork一个子进程,并让这个子进程exec另外一 阅读全文
posted @ 2012-09-23 20:35 Vamei 阅读(117101) 评论(28) 推荐(19) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令 (instruction)。所谓的程序(program 阅读全文
posted @ 2012-09-20 02:15 Vamei 阅读(74739) 评论(17) 推荐(42) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 我以下图为基础,说明Linux的架构(architecture)。(该图参考《Advanced Programming in Unix Environment》) 最内层是硬件,最外 阅读全文
posted @ 2012-09-19 02:56 Vamei 阅读(58285) 评论(22) 推荐(40) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!matplotlib是基于numpy的一套Python工具包。这个包提供了丰富的数据绘图工具,主要用于绘制一些统计图形。你可以找到很多各式各样的例子:通过数据绘图,我们可以将枯燥的数字转换成容易被人们接受的图表,从而让人留下更加深刻的印象。实际上,早在一百多年前,南丁格尔就曾经用统计图形来说服英国政府,以改善军队的卫生状况。我们将以GDP数据为例子,看看如何绘制经典的饼图和条形图。数据下面是我们要使用的数据,为2011年GDP前十的国家以及其具体的GDP:USA 1... 阅读全文
posted @ 2012-09-17 22:40 Vamei 阅读(31257) 评论(5) 推荐(4) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!在数据可视化过程中,我们常常需要将数据根据其采集的地理位置在地图上显示出来。比如说我们会想要在地图上画出城市,飞机的航线,乃至于军事基地等等。通常来说,一个地理信息系统都会带有这样的功能。今天我们讨论如何在Python上实现,并且使用免费的工具包。matplotlib是Python常用的数据绘制包。它基于numpy的数组运算功能。matplotlib绘图功能强大,可以轻易的画出各种统计图形,比如散点图,条行图,饼图等。matplotlib常与numpy和scipy相配合,用于许多 阅读全文
posted @ 2012-09-16 22:17 Vamei 阅读(45202) 评论(9) 推荐(6) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。 今天看到一个问卷调查,是问第一门学习的计算机语言是什么。本身想写QBasic,忽然想起曾经学习机时代的LOGO语言,以及看了很久的小乌龟。对啊,这才算是自己接触的第一门语言。 LOGO语言 阅读全文
posted @ 2012-09-15 21:23 Vamei 阅读(12474) 评论(7) 推荐(4) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!谢谢reverland纠错在之前对Python对象的介绍中 (面向对象的基本概念,面向对象的进一步拓展),我提到过Python“一切皆对象”的哲学,在Python中,无论是变量还是函数,都是一个对象。当Python运行时,对象存储在内存中,随时等待系统的调用。然而,内存里的数据会随着计算机关机和消失,如何将对象保存到文件,并储存在硬盘上呢?计算机的内存中存储的是二进制的序列 (当然,在Linux眼中,是文本流)。我们可以直接将某个对象所对应位置的数据抓取下来,转换成文本流 (这个 阅读全文
posted @ 2012-09-15 11:52 Vamei 阅读(40520) 评论(32) 推荐(8) 编辑
摘要: 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!在操作系统下,用户可以通过操作系统的命令来管理文件,参考linux文件管理相关命令。Python标准库则允许我们从Python内部管理文件。相同的目的,我们有了两条途径。尽管在Python调用标准库的方式不如操作系统命令直接,但有它自己的优势。你可以利用Python语言,并发挥其他Python工具,形成组合的文件管理功能。Python or Shell? 这是留给用户的选择。本文中会尽量将两者相似的功能相对应。本文基于linux文件管理背景知识os包os包包括各种各样的函数,以实 阅读全文
posted @ 2012-09-14 15:39 Vamei 阅读(29374) 评论(9) 推荐(7) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 下一页