程序大概内容如下:
程序中设置两个队列分别为queue负责存放网址,out_queue负责存放网页的源代码。
ThreadUrl线程负责将队列queue中网址的源代码urlopen,存放到out_queue队列中。
DatamineThread线程负责使用BeautifulSoup模块从out_queue网页的源代码中提取出想要的内容并输出。
这只是一个基本的框架,可以根据需求继续扩展...
分类:
编程语言 时间:
2015-04-28 09:49:14
阅读次数:
164
编写同步队列时,有用到条件变量,对操作队列的线程进行同步。当队列为空时,允许get线程挂起,直到add线程向队列添加元素并通过唤醒条件变量,get线程继续向下运行。条件变量在多线程程序中用来实现“等待->唤醒”逻辑常用的方法。条件变量要和互斥量相联结,以避免出现条件竞争:一个线程预备等待一个条件.....
分类:
其他好文 时间:
2014-12-18 01:40:46
阅读次数:
229
看了篇文章,觉得分析得很透彻,其后总结的很到位,地址:http://www.iteye.com/topic/1083832把获取与释放操作串在一起在简单看一下:获取锁的时候将当前线程放入同步队列,并且将前一个节点的状态置为signal状态,然后阻塞当这个节点的前一个节点成功获取到锁,前一个节点就成了...
分类:
其他好文 时间:
2014-12-03 10:29:28
阅读次数:
195
阅读ArrayBlockingQueue源码,很容易知道有界阻塞队列的长度至少为1,也就是至少能缓存下一个数据。SynchronousQueue的javadoc文档提到A synchronous queue does not have any internal capacity, not even a capacity of one.也就说同步队列的容量是0,不会缓存数据。
长度为1的阻塞队列和...
分类:
其他好文 时间:
2014-08-19 20:56:35
阅读次数:
298
Java-SynchronousQueue(同步队列) 阻塞队列小记...
分类:
编程语言 时间:
2014-08-10 21:38:20
阅读次数:
327
在JDK1.5版本,新增了并发包,其中包含了显示锁、并发容器。在这些锁和容器里,都有同步器(AQS)的身影。在AQS中,有三个组件:1、原子管理同步状态;2、阻塞线程或恢复线程;3、维护队列,其中包括同步队列及条件队列。为了更好地理解JDK的并发包,我会用三个主题来详细描述AbstractQueuedSynchronizer的实现。...
分类:
其他好文 时间:
2014-07-29 14:34:48
阅读次数:
210
Re'entrantLock lock = new ReentrantLock(fair);
Condition
notEmpty = lock.newCondition(); //返回内部类 AbstractQueuedSyncronizer.ConditionObject
各自维护了两个队列.一个是阻塞同步队列 syncQueue 双向队列,一个是条件等待队列....
分类:
数据库 时间:
2014-06-27 09:10:37
阅读次数:
505