视频监控平台系统的线程池结构及实现方法技术方案

技术编号:6909588 阅读:360 留言:0更新日期:2012-04-11 18:40
本发明专利技术的视频监控平台系统的线程池结构及实现方法,包括:管理线程、任务队列、空闲线程队列、绑定任务线程队列、消息回调。管理线程从任务队列取得任务;根据任务类型分类处理,绑定线程任务,将任务与线程绑定,并将该线程添加到绑定任务线程队列,或者申请空闲线程执行任务,将执行任务线程添加到繁忙线程队列,线程执行任务后均会返回线程池;能够避免频繁创建和销毁线程带来的不稳定性以及开销;上层应用的错误不会引起线程池异常;本发明专利技术构建了一个通用的线程池体系结构,可以让开发人员方便、快捷地在这个体系上开发适用于大规模并发稳定的应用服务;线程池的结构具有高度的抽象性,从而简化了工作,提高了工作效率。

【技术实现步骤摘要】

本专利技术涉及视频监控的
,具体说是一种适用于多线程处理环境、能够提供稳定运行的。
技术介绍
Linux作为服务器的系统平台,一般都须要求高可靠的7* 小时运行的应用服务程序,其中网络通信服务又占了很大的比重,这就对这些应用系统的并发处理能力、稳定性等方面提出了很高的要求。通常情况下,为了满足应用程序在性能上的要求,一般会采用多线程模式,但这种模式消耗在创建和销毁线程上的时间或者资源太多,所以采用线程池方式。线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在有需求时唤醒线程执行这些任务。线程池的线程都是后台线程.每个线程都使用配置的堆栈大小, 以默认的优先级运行,并处于多线程单元中.适用于boss/work、生产者/消费者等线程模型。如果线程池所有线程都拥有任务时,线程池将创建一定数量的新线程,但线程的数目永远不会超过最大值。
技术实现思路
本专利技术要解决的技术问题是提供一种适用于多线程处理环境、能够提供稳定运行的。本专利技术为解决公知技术中存在的技术问题所采取的技术方案是本专利技术的视频监控平台系统的线程池结构,包括管理线程,线程池中唯一能够操作线程以及线程队列的线程,负责处理任务队列里的所有任务,根据任务创建销毁线程,操作相应的线程队列;线程指针数组,存放所有线程指针,便于线程池销毁时能集中销毁线程,采用指针数据方式,申请一个线程即放入一个线程,通过序号(即数组下标)对线程进行编号; 任务队列,与上层应用唯一的接口队列,负责存放上层应用的任务请求,采用双向循环链表实现,使用先进先出的管理方式,一个新任务首先会被投递到任务队列,然后管理线程从任务队列取得任务;空闲线程队列,存放空闲无任务的线程指针,采用双向循环链表实现,使用先进先出的管理方式,管理线程首先根据任务从空闲线程队列取得空闲线程,并让其执行任务回调,执行完后该线程回到空闲线程队列中;绑定任务线程队列,存放已绑定任务的线程指针,采用双向循环链表实现,管理线程首先根据任务从绑定任务线程队列取得相应绑定线程,并让其执行已绑定的任务回调,执行完后该线程回到绑定任务线程队列中,直到上层应用解除绑定,解除绑定后线程进入空闲线程队列;消息回调,线程池处理完上层应用任务请求后,将结果通过消息回调通知上层应用。视频监控平台系统的线程池实现方法,包括以下步骤1)上层应用通过线程池任务接口将任务投递添加到任务队列;2)管理线程从任务队列取得任务;3)根据任务类型分类处理,绑定线程任务,将任务与线程绑定,并将该线程添加到绑定任务线程队列,或者申请空闲线程执行任务,将执行任务线程到繁忙线程队列,分别执行相应任务回调;4)上述两个相应的线程执行任务后分别返回线程池;5)将处理任务结果通过消息回调向上层应用进行通知。包括管理线程在内的所有线程空闲时均为挂起即睡眠状态,需要时才将其唤醒。本专利技术具有的优点和积极效果是本专利技术的,能够避免频繁创建和销毁线程带来的不稳定性以及开销;上层应用的错误不会引起线程池异常;本专利技术构建了一个通用的线程池体系结构,可以让开发人员方便、快捷地在这个体系上开发适用于大规模并发稳定的应用服务;线程池的结构具有高度的抽象性,这样开发人员不用再关心线程的具体处理或管理逻辑,只需关心具体的客户请求任务处理,从而简化了工作,提高了工作效率;本专利技术的适用于多种线程模型,例如Boss/Work、 生产者/消费者等。附图说明图1是本专利技术的视频监控平台系统的线程池的示意图。 具体实施例方式以下参照附图及实施例对本专利技术进行详细的说明。图1是本专利技术的视频监控平台系统的线程池的示意图。如图1所示,本专利技术的视频监控平台系统的线程池结构,包括管理线程,线程池中唯一能够操作线程以及线程队列的线程,负责处理任务队列里的所有任务,根据任务创建销毁线程,操作相应的线程队列;线程指针数组,存放所有线程指针,便于线程池销毁时能集中销毁线程,采用指针数据方式,申请一个线程即放入一个线程,通过序号(即数组下标)对线程进行编号;任务队列,与上层应用唯一的接口队列,负责存放上层应用的任务请求,采用双向循环链表实现,使用先进先出的管理方式,一个新任务首先会被投递到任务队列,然后管理线程从任务队列取得任务;空闲线程队列,存放空闲无任务的线程指针,采用双向循环链表实现,使用先进先出的管理方式,管理线程首先根据任务从空闲线程队列取得空闲线程,并让其执行任务回调,执行完后该线程回到空闲线程队列中;绑定任务线程队列,存放已绑定任务的线程指针,采用双向循环链表实现,管理线程首先根据任务从绑定任务线程队列取得相应绑定线程,并让其执行已绑定的任务回调,执行完后该线程回到绑定任务线程队列中,直到上层应用解除绑定,解除绑定后线程进入空闲线程队列;消息回调,线程池处理完上层应用任务请求后,将结果通过消息回调通知上层应用。视频监控平台系统的线程池实现方法,包括以下步骤1)上层应用通过线程池任务接口将任务投递添加到任务队列;2)管理线程从任务队列取得任务;3)根据任务类型分类处理,绑定线程任务,将任务与线程绑定,并将该线程添加到绑定任务线程队列,或者申请空闲线程执行任务,将执行任务线程到繁忙线程队列,分别执行相应任务回调;4)上述两个相应的线程执行任务后分别返回线程池;5)将处理任务结果通过消息回调向上层应用进行通知。包括管理线程在内的所有线程空闲时均为挂起即睡眠状态,需要时才将其唤醒。以上所述,仅是本专利技术的较佳实施例而已,并非对本专利技术作任何形式上的限制, 虽然本专利技术已以较佳实施例公开如上,然而,并非用以限定本专利技术,任何熟悉本专业的技术人员,在不脱离本专利技术技术方案范围内,当然会利用揭示的
技术实现思路
作出些许更动或修饰,成为等同变化的等效实施例,但凡是未脱离本专利技术技术方案的内容,依据本专利技术的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本专利技术技术方案的范围内。本文档来自技高网
...

【技术保护点】
1.一种视频监控平台系统的线程池结构,其特征在于,包括:管理线程,线程池中唯一能够操作线程以及线程队列的线程,负责处理任务队列里的所有任务,根据任务创建销毁线程,操作相应的线程队列;线程指针数组,存放所有线程指针,便于线程池销毁时能集中销毁线程,采用指针数据方式,申请一个线程即放入一个线程,通过序号(即数组下标)对线程进行编号;任务队列,与上层应用唯一的接口队列,负责存放上层应用的任务请求,采用双向循环链表实现,使用先进先出的管理方式,一个新任务首先会被投递到任务队列,然后管理线程从任务队列取得任务;空闲线程队列,存放空闲无任务的线程指针,采用双向循环链表实现,使用先进先出的管理方式,管理线程首先根据任务从空闲线程队列取得空闲线程,并让其执行任务回调,执行完后该线程回到空闲线程队列中;绑定任务线程队列,存放已绑定任务的线程指针,采用双向循环链表实现,管理线程首先根据任务从绑定任务线程队列取得相应绑定线程,并让其执行已绑定的任务回调,执行完后该线程回到绑定任务线程队列中,直到上层应用解除绑定,解除绑定后线程进入空闲线程队列;消息回调,线程池处理完上层应用任务请求后,将结果通过消息回调通知上层应用。...

【技术特征摘要】
1.一种视频监控平台系统的线程池结构,其特征在于,包括管理线程,线程池中唯一能够操作线程以及线程队列的线程,负责处理任务队列里的所有任务,根据任务创建销毁线程,操作相应的线程队列;线程指针数组,存放所有线程指针,便于线程池销毁时能集中销毁线程,采用指针数据方式,申请一个线程即放入一个线程,通过序号(即数组下标)对线程进行编号;任务队列,与上层应用唯一的接口队列,负责存放上层应用的任务请求,采用双向循环链表实现,使用先进先出的管理方式,一个新任务首先会被投递到任务队列,然后管理线程从任务队列取得任务;空闲线程队列,存放空闲无任务的线程指针,采用双向循环链表实现,使用先进先出的管理方式,管理线程首先根据任务从空闲线程队列取得空闲线程,并让其执行任务回调,执行完后该线程回到空闲线程队列中;绑定任务线程队列,存放已绑定任务的线程指针,采用双向循环链表实现,管理线程首先根据任务从绑定任务线程...

【专利技术属性】
技术研发人员:谢晓霞于新强黄博
申请(专利权)人:天津市天祥世联网络科技有限公司
类型:发明
国别省市:12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1