死锁在线程间共享多个资源的时候,如果两个线程分别占有一部分资源并且同时等待对方的资源,就会造成死锁。尽管死锁很少发生,但一旦发生就会造成应用的停止响应。下面看一个死锁的例子:按 Ctrl+C 复制代码按 Ctrl+C 复制代码执行结果:Thread-1 got resAThread-1 got re...
分类:
编程语言 时间:
2015-04-17 20:10:58
阅读次数:
164
在批评Python的讨论中,常常说起Python多线程是多么的难用。还有人对 global interpreter lock(也被亲切的称为“GIL”)指指点点,说它阻碍了Python的多线程程序同时运行。因此,如果你是从其他语言(比如C++或Jav...
分类:
编程语言 时间:
2015-04-11 06:48:54
阅读次数:
235
OS: Windows 8.1 with update关键字:Python3.4, http.server, Thread例子代码如下:import osfrom threading import Threadimport timeimport webbrowserport_number = "80...
分类:
编程语言 时间:
2015-04-09 00:52:47
阅读次数:
282
点这里在批评Python的讨论中,常常说起Python多线程是多么的难用。还有人对 global interpreter lock(也被亲切的称为“GIL”)指指点点,说它阻碍了Python的多线程程序同时运行。因此,如果你是从其他语言(比如C++或Java)转过来的话,Python线程模块并不会像...
分类:
编程语言 时间:
2015-04-08 22:44:50
阅读次数:
252
转自http://segmentfault.com/a/1190000000414339map 这一小巧精致的函数是简捷实现 Python 程序并行化的关键。map 源于 Lisp 这类函数式编程语言。它可以通过一个序列实现两个函数之间的映射。 urls = ['http://www.yaho...
分类:
编程语言 时间:
2015-04-08 19:44:45
阅读次数:
200
Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的。用pdb调试有多种方式可选:1.命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前python-mpdbmyscript.py2.在Python交互环境中启用..
分类:
编程语言 时间:
2015-04-05 12:05:33
阅读次数:
146
python爬虫Pragmatic系列IV
说明:
在上一篇博客中,我们已经做到了从赶集网首页上抓取所有的链接,并下载下来,分析后存入Excel中。
本次目标:
在本节中,我们将使用python多线程技术从赶集网上抓取链接并分析,注意,我们这次能够抓获的链接数目可以远远大于上一篇博客中抓获的。
分析:
用爬虫统计信息那自然数据越多越好,为了获取更多的数据,我们研究下如何打开上千...
分类:
编程语言 时间:
2015-03-31 16:10:13
阅读次数:
212
Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原语,能够在多线程中直接使用。可以使用队列来实现线程间的同步。Queue模块中的常用方法:Que...
分类:
编程语言 时间:
2015-03-18 17:57:49
阅读次数:
220
如果多个线程共同对某个数据修改,则可能出现不可预料的结果,为了保证数据的正确性,需要对多个线程进行同步。使用Thread对象的Lock和Rlock可以实现简单的线程同步,这两个对象都有acquire方法和release方法,对于那些需要每次只允许一个线程操作的数据,可以将其操作放到acquire和r...
分类:
编程语言 时间:
2015-03-18 15:22:50
阅读次数:
207