网页数据提取程序

忙一个项目,有半月没写Blog了,从现在的项目说起吧。

这个小项目也是一个网页数据提取工具,和上一个的区别在于不需要对网页中submit,直接读取网页数据,然后分析数据,实现的功能复杂多了,鉴于和客户协议的原因有关项目不便多说,技术可以分析一下。

说说多线程的问题。网页数据提取往往会有多个线程并行工作,这就带来几个问题:

1。线程之间怎么协调?

2。多线程的怎么管理?

3。线程取得的数据怎么同步更新,显示到界面上来?

逐个来讲我的方案,如果看客有别的想法请和我联系,学习学习。

1。线程协调:多线程工作时,线程之间如果没有数据交换或线程前后关系的依赖,就不必考虑协调的问题。当需要协调时,可以使用互斥量或者线程间的事件和消息实现,可能需要多线程管理单元参与协调。

2。管理单元:我的做法是建立一个线程池(线程列表),创建线程时根据线程之间的关系给与不同的属性(要在开发平台上派生线程类,自己定义属性)。管理单元维护线程池,负责创建和销毁线程,向线程传送数据和消息都从管理单元通过,对运行的线程提供最大的控制。

3。界面同步更新:回调或消息。

我使用的多线程问题是以管理单元为中心的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值