多窗口并发显示方法技术

技术编号:7302531 阅读:258 留言:0更新日期:2012-04-27 07:36
本发明专利技术涉及人机交互技术领域,公开了一种多窗口并发显示方法,包括以下步骤:S1、创建信号量;S2、创建多个线程,将所创建的信号量传入各线程中;S3、所述多个线程装载各自所需要的资源,然后将所述多个线程暂停住;S4、通过控制所述信号量的开关对所述多个线程进行同步控制。本发明专利技术能够在计算机硬件条件允许的情况下创建无限多个窗体线程,并实现所有线程实现资源共享,通过控制创建出来的信号量,各线程能够同时执行并各自执行各自不同的事件,对线程的控制操作简单。而且由于只需要等到信号量释放之后即可退出线程,而不需要等待其它资源的释放,因此不存在线程卡死或者线程无限执行等现象,也不需要在线程内部做过多的线程互斥处理。

【技术实现步骤摘要】

本专利技术涉及人机交互
,具体涉及一种。
技术介绍
在windows操作系统中,所有线程都是基于时间片在运行,因此每个程序在运行的时候存在线程先后执行的顺序问题。而当在一个程序中创建多个窗口显示的同时,系统会分配多个线程,这样一来总会出现窗口先后依次出现的场面。因此在应用于公共场合的一些软件系统中若出现这样的情形,会影响整个软件系统的整体协调性和它应实现的效^ ο现有技术中还没有出现一种能够实现多窗口同步并发显示效果的技术方案。
技术实现思路
(一 )要解决的技术问题本专利技术所要解决的技术问题是如何实现多窗口同步并发显示效果。( 二 )技术方案为解决上述技术问题,本专利技术提供了一种,包括以下步骤Si、创建信号量;S2、创建多个线程,将所创建的信号量传入各线程中;S3、所述多个线程装载各自所需要的资源,然后将所述多个线程暂停住;S4、通过控制所述信号量的开关对所述多个线程进行同步控制。优选地,步骤S4中进行同步控制的方式为当释放所述信号量,即控制所述信号量的开关为关时,同时执行所述多个线程。优选地,各线程所执行的事件是该线程中当前有信号量的开关为开的事件。优选地,步骤S3中,如果装载资源失败则退出该线程。优选地,步骤Sl中,创建四个信号量,即开始信号量乂3汁、结束信号量Mop、暂停信号量Pause和释放资源信号量Release。优选地,在步骤Sl与S2之间包括初始化步骤初始化所述四个信号量,将暂停信号量Pause的开关设置为开,将其它三个信号量的开关设置为关。优选地,所述线程为窗体线程。(三)有益效果本专利技术能够在计算机硬件条件允许的情况下创建无限多个窗体线程,并实现所有线程实现资源共享(共享信号量),通过控制创建出来的信号量,各线程能够同时执行并各自执行各自不同的事件,对线程的控制操作简单。而且由于只需要等到信号量释放之后即可退出线程,而不需要等待其它资源的释放,因此不存在线程卡死或者线程无限执行等现象,也不需要在线程内部做过多的线程互斥处理。附图说明图1是本专利技术实施例的方法流程图。 具体实施例方式下面对于本专利技术所提出的一种,结合附图和实施例详细说明。本专利技术的原理是在创建显示窗口线程的时候使用一个或多个公共的信号量,并使线程悬停住,等所有需要创建的线程都创建完成之后,释放信号量,这样一来,所有程序中创建的线程都能在信号量释放(信号量中的开关为关)后同时执行,达到同时同步显示效果;不论在程序中创建多少个窗口都能同时同步地在显示屏中显示,使整个软件系统在视觉效果上看起来流畅协调,不存在视觉误差。下面以创建3个窗体线程A、B、C为例说明本专利技术实施例的, 参考图1,该方法包括以下步骤1)创建四个信号量开始信号量Mart、结束信号量Mop、暂停信号量Pause、释放资源信号量Release ;2)初始化四个信号量,将Pause信号量的开关设置为开,即把该信号量设置为有, 将其它三个信号量的开关设置为关,即把其它三个信号量设置为无;本步骤中,也可以将其它的信号量设置为开,这么做的目的是为了卡住线程,使其不再执行;3)创建窗体线程A,将创建的4个信号量传入窗体线程A中,如果创建失败,程序将跳过当前窗体线程A的装载事件;4)创建窗体线程B,将创建的4个信号量传入线程B中,如果创建失败,程序将跳过当前线程B的装载事件;5)创建窗体线程C,将创建的4个信号量传入线程C中,如果创建失败,程序将跳过当前线程C的装载事件;6)A、B、C三个线程装载各自需要的系统资源以及外部资源,将这三个线程暂停住, 等待开始信号量^art ;如果装载资源失败则退出该线程;7)判断是否存在需要启动的线程,如果不存在需要启动的线程,则悬停住整个进程(线程A、B、C是该进程的三个线程);8)将创建成功的线程归纳到线程列表中;9)设置暂停信号量Pause的开关为关,并使用该进程通过控制四个信号量的开关实现对窗体线程的统一、同步控制。当释放某一信号量,即控制信号量的开关为关时,同时执行所述多个线程,各线程所执行的事件是该线程中当前有开始信号量^art的事件。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多窗口并发显示方法,其特征在于,包括以下步骤51、创建信号量;52、创建多个线程,将所创建的信号量传入各线程中;53、所述多个线程装载各自所需要的资源,然后将所述多个线程暂停住;54、通过控制所述信号量的开关对所述多个线程进行同步控制。2.如权利要求1所述的方法,其特征在于,步骤S4中进行同步控制的方式为当释放所述信号量,即控制所述信号量的开关为关时,同时执行所述多个线程。3.如权利要求2所述的方法,其特征在于,各线程所执行的事件是该线程中当前有信号量的开关为开的事件。...

【专利技术属性】
技术研发人员:储德强张许亮麻燕利戴福昊
申请(专利权)人:同辉佳视北京信息技术股份有限公司
类型:发明
国别省市:

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

1
相关领域技术