CN106708614A - 多线程创建系统及方法、多线程处理系统及方法 - Google Patents
多线程创建系统及方法、多线程处理系统及方法 Download PDFInfo
- Publication number
- CN106708614A CN106708614A CN201611021345.0A CN201611021345A CN106708614A CN 106708614 A CN106708614 A CN 106708614A CN 201611021345 A CN201611021345 A CN 201611021345A CN 106708614 A CN106708614 A CN 106708614A
- Authority
- CN
- China
- Prior art keywords
- thread
- message queue
- module
- sub
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000012545 processing Methods 0.000 title claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 66
- 238000004140 cleaning Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 7
- 238000003672 processing method Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 description 10
- 230000006872 improvement Effects 0.000 description 5
- 238000002513 implantation Methods 0.000 description 2
- 230000032696 parturition Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明涉及多线程创建系统及方法、多线程处理系统及方法,多线程创建系统包括:接收外部的窗体对象指令,并传输至窗口对象模块;还将窗体对象传输至外部进行显示的接口模块;生成窗体对象,同时分别生成创建第一线程消息队列指令、创建第二线程消息队列指令、创建主线程指令和创建子线程指令;还向接口模块输出窗体对象的窗口对象模块;创建第一线程消息队列和第二线程消息队列,并向窗口对象模块返回第一创建成功消息的线程消息队列模块;分别创建主线程和子线程,并向窗口对象模块返回第二创建成功消息的线程处理模块。相对现有技术,本发明能减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
Description
技术领域
本发明涉及计算机技术领域,特涉及一种多线程创建系统及方法、多线程处理系统及方法。
背景技术
现有技术的窗体中,用的是消息队列的方式,而不是用多个线程,这样是为了程序的扩展性。我们按它的框架来写代码,可以实现方便快捷的开发,但是也使得很多应用程序编程接口并不是线程安全的,甚至有些函数不支持在非窗体主线程上是用;可是在所有程序,都有可能需要并行执行。如果不并行,都在窗体主线程中执行,就有可能会等待,而在窗体主程序中做等待,会使得程序变灰色,然后弹出“程序未响应”的系统提示。只有这个等待结束后,程序才能恢复。然而,如果用多线程,又会出现很多的临界区(基本上在窗体的应用程序编程接口都属于临界区了),这样也会使得编程变得很费力。再者,如果线程有多个子线程,在需要释放窗体的时候,也必须等待子线程结束后,才能释放窗体,这样也使得主线程出现等待的现象,然后弹出“程序未响应”的系统提示,所以有必要对这些问题进行解决。
发明内容
本发明的目的是提供一种多线程创建系统及方法、多线程处理系统及方法,所要解决的技术问题是:如何减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
本发明解决上述技术问题的技术方案如下:一种多线程创建系统,包括接口模块、窗口对象模块、线程消息队列模块和线程处理模块;
所述接口模块,用于接收外部的窗体对象指令,并传输至窗口对象模块;还用于将窗体对象传输至外部进行显示;
所述窗口对象模块,用于根据窗体对象指令生成窗体对象,同时分别生成创建第一线程消息队列指令、创建第二线程消息队列指令、创建主线程指令和创建子线程指令;还用于根据第一创建成功消息和第二创建成功消息向所述接口模块输出窗体对象;
所述线程消息队列模块,用于根据创建第一线程消息队列指令和创建第二线程消息队列指令分别创建第一线程消息队列和第二线程消息队列,并向窗口对象模块返回第一创建成功消息;
所述线程处理模块,用于根据创建主线程指令和创建子线程指令分别创建主线程和子线程,并向窗口对象模块返回第二创建成功消息。
本发明的有益效果是:通过创建第一线程消息队列、第二线程消息队列、主线程和子线程,能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;线程处理模块能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述线程处理模块创建主线程和子线程过程中分别向主线程和子线程中植入智能指针。
采用上述进一步方案的有益效果是:主线程和子线程中植入智能指针,通过智能指针能保证主线程和子线程能相对自动处理,使得运行更加流畅和快速。
本发明解决上述技术问题的另一技术方案如下:一种多线程处理系统,包括多线程创建系统及其创建的第一线程消息队列、第二线程消息队列、主线程和子线程;
所述接口模块,所述接口模块,用于接收外部的操作指令,传输至窗口对象模块;还用于对第一处理结果传输至外部进行显示;还用于对第二处理结果传输至外部进行显示;
所述窗口对象模块,用于对操作指令所要求执行的任务进行判断,当判断所要执行的任务需要在线程处理时,提取对应主线程传输至线程消息队列模块,并生成第一处理结果返回接口模块;
所述线程消息队列模块,用于将主线程放入第一线程消息队列进行保存和排序;
所述线程处理模块4,用于读取第一线程消息队列内的主线程,通过主线程进行处理,调取资源执行对应任务,完成任务时向接口模块1返回第二处理结果;完成任务后将子线程放入第二线程消息队列中,通过子线程清除主线程调取的资源,清除窗口对象。
本发明的有益效果是:能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;线程处理模块能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性,能减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述窗口对象模块对操作指令所要求执行的任务进行判断,当所要执行的任务延时或者执行任务所用的资源只是在线程中,则所要执行的任务需要在线程处理。
采用上述进一步方案的有益效果是:窗口对象模块对操作指令所要求执行的任务进行判断,能提升对延时高的任务或者所用的资源只是在线程中的任务进行高效处理,能对减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
进一步,所述接口模块,用于根据第一处理结果生成清理窗口指令,传输至窗口对象模块;还用对清理结束信号进行显示;
所述窗口对象模块,用于根据清理窗口指令调取子线程传输至线程消息队列模块;还用于根据第三处理结果通过主线程隐藏窗体对象;还用于根据第四处理结果清理窗体对象,向接口模块返回清理结束信号;
所述线程消息队列模块,用于将子线程放入第二线程消息队列进行保存和排序,生成第三处理结果返回窗口对象模块;
所述线程处理模块,用于读取第二线程消息队列中的子线程,清除主线程调取的资源,同时关闭子线程;完成任务时向窗口对象模块返回第四处理结果。
采用上述进一步方案的有益效果是:子线程的清理过程与主线程是并行,异步的;用户清理任务只是将窗体隐藏,然后资源清理用子线程处理,子线程得到充分的利用,而又不影响主线程工作;使得释放变动非常流畅和快速。
进一步,所述线程处理模块还用于调取主线程,主线程根据第四处理结果清理清理窗体对象。
采用上述进一步方案的有益效果是:主线程的清理过程能与子线程的清理过程异步并行处理,使得释放变动非常流畅和快速。
本发明解决上述技术问题的另一技术方案如下:一种多线程创建方法,包括以下步骤:
步骤A1.接收外部的窗体对象指令,根据窗体对象指令生成窗体对象,同时分别生成创建第一线程消息队列指令、创建第二线程消息队列指令、创建主线程指令和创建子线程指令;
步骤A2.根据创建第一线程消息队列指令和创建第二线程消息队列指令分别创建第一线程消息队列和第二线程消息队列,并返回第一创建成功消息;根据创建主线程指令和创建子线程指令分别创建主线程和子线程,并返回第二创建成功消息;
步骤A3.根据第一创建成功消息和第二创建成功消息输出窗体对象,将窗体对象传输至外部进行显示。
本发明的有益效果是:通过创建第一线程消息队列、第二线程消息队列、主线程和子线程,能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,在步骤A2中,创建主线程和子线程过程中分别向主线程和子线程中植入智能指针。
采用上述进一步方案的有益效果是:主线程和子线程中植入智能指针,通过智能指针能保证主线程和子线程能相对自动处理,使得运行更加流畅和快速。
本发明解决上述技术问题的另一技术方案如下:一种多线程处理方法,包括以下步骤:
步骤B1.接收外部的操作指令,对操作指令所要求执行的任务进行判断,当判断所要执行的任务需要在线程处理时,提取对应主线程传输至第一线程消息队列,并生成第一处理结果传输至外部进行显示;
步骤B2.将主线程放入第一线程消息队列进行保存和排序;
步骤B3.读取第一线程消息队列内的主线程,通过主线程进行处理,调取资源执行对应任务,完成任务时返回第二处理结果传输至外部进行显示;完成任务后还清除主线程调取的资源,清除窗口对象。
本发明的有益效果是:能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性,能减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,步骤B1中对操作指令所要求执行的任务进行判断,当所要执行的任务延时或者执行任务所用的资源只是在线程中,则所要执行的任务需要在线程处理。
采用上述进一步方案的有益效果是:对操作指令所要求执行的任务进行判断,能提升对延时高的任务或者所用的资源只是在线程中的任务进行高效处理,能对减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
附图说明
图1为本发明一种多线程创建系统的模块框图;
图2为本发明一种多线程创建方法的流程图;
图3为本发明一种多线程处理方法的流程图。
附图中,各标号所代表的部件列表如下:
1、接口模块,2、窗口对象模块,3、线程消息队列模块,4、线程处理模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种多线程创建系统,包括接口模块1、窗口对象模块2、线程消息队列模块3和线程处理模块4;
所述接口模块1,用于接收外部的窗体对象指令,并传输至窗口对象模块;还用于将窗体对象传输至外部进行显示;
所述窗口对象模块2,用于根据窗体对象指令生成窗体对象,同时分别生成创建第一线程消息队列指令、创建第二线程消息队列指令、创建主线程指令和创建子线程指令;还用于根据第一创建成功消息和第二创建成功消息向所述接口模块1输出窗体对象;
所述线程消息队列模块3,用于根据创建第一线程消息队列指令和创建第二线程消息队列指令分别创建第一线程消息队列和第二线程消息队列,并向窗口对象模块2返回第一创建成功消息;
所述线程处理模块4,用于根据创建主线程指令和创建子线程指令分别创建主线程和子线程,并向窗口对象模块2返回第二创建成功消息。
通过创建第一线程消息队列、第二线程消息队列、主线程和子线程,能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;线程处理模块能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性。
上述实施例中,所述线程处理模块4创建主线程和子线程过程中分别向主线程和子线程中植入智能指针;
主线程和子线程中植入智能指针,通过智能指针能保证主线程和子线程能相对自动处理,使得运行更加流畅和快速。
实施例2:
如图1所示,一种多线程处理系统,包括多线程创建系统及其创建的第一线程消息队列、第二线程消息队列、主线程和子线程;
所述接口模块1,用于接收外部的操作指令,传输至窗口对象模块2;还用于对第一处理结果传输至外部进行显示;还用于对第二处理结果传输至外部进行显示;
所述窗口对象模块2,用于对操作指令所要求执行的任务进行判断,当判断所要执行的任务需要在线程处理时,提取对应主线程传输至线程消息队列模块3,并生成第一处理结果返回接口模块1;
所述线程消息队列模块3,用于将主线程放入第一线程消息队列进行保存和排序;
所述线程处理模块4,用于读取第一线程消息队列内的主线程,通过主线程进行处理,调取资源执行对应任务,完成任务时向接口模块1返回第二处理结果;完成任务后将子线程放入第二线程消息队列中,通过子线程清除主线程调取的资源,清除窗口对象。
能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;线程处理模块4能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性,能减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
上述实施例中,所述窗口对象模块2对操作指令所要求执行的任务进行判断,当所要执行的任务延时或者执行任务所用的资源只是在线程中,则所要执行的任务需要在线程处理。
窗口对象模块2对操作指令所要求执行的任务进行判断,能提升对延时高的任务或者所用的资源只是在线程中的任务进行高效处理,能对减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
上述实施例中,所述接口模块1,用于根据第一处理结果生成清理窗口指令,传输至窗口对象模块2;还用对清理结束信号进行显示;
所述窗口对象模块2,用于根据清理窗口指令调取子线程传输至线程消息队列模块3;还用于根据第三处理结果通过主线程隐藏窗体对象;还用于根据第四处理结果清理窗体对象,向接口模块1返回清理结束信号;
所述线程消息队列模块3,用于将子线程放入第二线程消息队列进行保存和排序,生成第三处理结果返回窗口对象模块2;
所述线程处理模块4,用于读取第二线程消息队列中的子线程,清除主线程调取的资源,同时关闭子线程;完成任务时向窗口对象模块2返回第四处理结果;
要清理窗体的时候,主线程隐藏这个窗体,然后给这个窗体的子线程一个退出的消息;这样,就实现“伪删除窗体过程”的过程;当子线程退出后,发送消息给主线程,这时,主线程才开始真正清理窗体,因不用等待高延时的子线程,所以该过程是非常快的。
子线程的清理过程与主线程是并行,异步的;用户清理任务只是将窗体隐藏,然后资源清理用子线程处理,子线程得到充分的利用,而又不影响主线程工作;使得释放变动非常流畅和快速。
上述实施例中,所述线程处理模块4还用于调取主线程,主线程根据第四处理结果清理清理窗体对象;主线程的清理过程能与子线程的清理过程异步并行处理,使得释放变动非常流畅和快速。
实施例3:
如图2所示,一种多线程创建方法,包括以下步骤:
步骤A1.接收外部的窗体对象指令,根据窗体对象指令生成窗体对象,同时分别生成创建第一线程消息队列指令、创建第二线程消息队列指令、创建主线程指令和创建子线程指令;
步骤A2.根据创建第一线程消息队列指令和创建第二线程消息队列指令分别创建第一线程消息队列和第二线程消息队列,并返回第一创建成功消息;根据创建主线程指令和创建子线程指令分别创建主线程和子线程,并返回第二创建成功消息;
步骤A3.根据第一创建成功消息和第二创建成功消息输出窗体对象,将窗体对象传输至外部进行显示。
通过创建第一线程消息队列、第二线程消息队列、主线程和子线程,能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性。
上述实施例中,在步骤A2中,创建主线程和子线程过程中分别向主线程和子线程中植入智能指针;主线程和子线程中植入智能指针,通过智能指针能保证主线程和子线程能相对自动处理,使得运行更加流畅和快速。
实施例4:
如图3所示,一种多线程处理方法,包括以下步骤:
步骤B1.接收外部的操作指令,对操作指令所要求执行的任务进行判断,当判断所要执行的任务需要在线程处理时,提取对应主线程传输至第一线程消息队列,并生成第一处理结果传输至外部进行显示;
步骤B2.将主线程放入第一线程消息队列进行保存和排序;
步骤B3.读取第一线程消息队列内的主线程,通过主线程进行处理,调取资源执行对应任务,完成任务时返回第二处理结果传输至外部进行显示;完成任务后还清除主线程调取的资源,清除窗口对象。
能使主线程在第一线程消息队列中保存排序,能使子线程在第二线程消息队列中保存排序,充分实现主线程和子线程进行并行处理;能对主线程和子线程统一管理,使得管理简单而统一,提升稳定性,能减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
上述实施例中,步骤B1中对操作指令所要求执行的任务进行判断,当所要执行的任务延时或者执行任务所用的资源只是在线程中,则所要执行的任务需要在线程处理;对操作指令所要求执行的任务进行判断,能提升对延时高的任务或者所用的资源只是在线程中的任务进行高效处理,能对减少临界区,改善程序的流程性,提高用户体验,线程的处理规范化,也可以保证系统稳定性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多线程创建系统,其特征在于:包括接口模块(1)、窗口对象模块(2)、线程消息队列模块(3)和线程处理模块(4);
所述接口模块(1),用于接收外部的窗体对象指令,并传输至窗口对象模块(2);还用于将窗体对象传输至外部进行显示;
所述窗口对象模块(2),用于根据窗体对象指令生成窗体对象,同时分别生成创建第一线程消息队列指令、创建第二线程消息队列指令、创建主线程指令和创建子线程指令;还用于根据第一创建成功消息和第二创建成功消息向所述接口模块(1)输出窗体对象;
所述线程消息队列模块(3),用于根据创建第一线程消息队列指令和创建第二线程消息队列指令分别创建第一线程消息队列和第二线程消息队列,并向窗口对象模块(2)返回第一创建成功消息;
所述线程处理模块(4),用于根据创建主线程指令和创建子线程指令分别创建主线程和子线程,并向窗口对象模块(2)返回第二创建成功消息。
2.根据权利要求1所述的多线程创建系统,其特征在于:所述线程处理模块(4)创建主线程和子线程过程中分别向主线程和子线程中植入智能指针。
3.一种多线程处理系统,其特征在于:包括权利要求1或2所述的多线程创建系统及其创建的第一线程消息队列、第二线程消息队列、主线程和子线程;
所述接口模块(1),用于接收外部的操作指令,传输至窗口对象模块(2);还用于对第一处理结果传输至外部进行显示;还用于对第二处理结果传输至外部进行显示;
所述窗口对象模块(2),用于对操作指令所要求执行的任务进行判断,当判断所要执行的任务需要在线程处理时,提取对应主线程传输至线程消息队列模块(3),并生成第一处理结果返回接口模块(1);
所述线程消息队列模块(3),用于将主线程放入第一线程消息队列进行保存和排序;
所述线程处理模块(4),用于读取第一线程消息队列内的主线程,通过主线程进行处理,调取资源执行对应任务,完成任务时向接口模块(1)返回第二处理结果;完成任务后将子线程放入第二线程消息队列中,通过子线程清除主线程调取的资源,清除窗口对象。
4.根据权利要求3所述的多线程处理系统,其特征在于:所述窗口对象模块(2)对操作指令所要求执行的任务进行判断,当所要执行的任务延时或者执行任务所用的资源只是在线程中,则所要执行的任务需要在线程处理。
5.根据权利要求3所述的多线程处理系统,其特征在于:
所述接口模块(1),用于根据第一处理结果生成清理窗口指令,传输至窗口对象模块(2);还用对清理结束信号进行显示;
所述窗口对象模块(2),用于根据清理窗口指令调取子线程传输至线程消息队列模块(3);还用于根据第三处理结果通过主线程隐藏窗体对象;还用于根据第四处理结果清理窗体对象,向接口模块(1)返回清理结束信号;
所述线程消息队列模块(3),用于将子线程放入第二线程消息队列进行保存和排序,生成第三处理结果返回窗口对象模块(2);
所述线程处理模块(4),用于读取第二线程消息队列中的子线程,清除主线程调取的资源,同时关闭子线程;完成任务时向窗口对象模块(2)返回第四处理结果。
6.根据权利要求5所述的多线程处理系统,其特征在于:所述线程处理模块(4)还用于调取主线程,主线程根据第四处理结果清理清理窗体对象。
7.一种多线程创建方法,其特征在于,包括以下步骤:
步骤A1.接收外部的窗体对象指令,根据窗体对象指令生成窗体对象,同时分别生成创建第一线程消息队列指令、创建第二线程消息队列指令、创建主线程指令和创建子线程指令;
步骤A2.根据创建第一线程消息队列指令和创建第二线程消息队列指令分别创建第一线程消息队列和第二线程消息队列,并返回第一创建成功消息;根据创建主线程指令和创建子线程指令分别创建主线程和子线程,并返回第二创建成功消息;
步骤A3.根据第一创建成功消息和第二创建成功消息输出窗体对象,将窗体对象传输至外部进行显示。
8.根据权利要求7所述的多线程创建方法,其特征在于:在步骤A2中,创建主线程和子线程过程中分别向主线程和子线程中植入智能指针。
9.一种多线程处理方法,其特征在于,包括以下步骤:
步骤B1.接收外部的操作指令,对操作指令所要求执行的任务进行判断,当判断所要执行的任务需要在线程处理时,提取对应主线程传输至第一线程消息队列,并生成第一处理结果传输至外部进行显示;
步骤B2.将主线程放入第一线程消息队列进行保存和排序;
步骤B3.读取第一线程消息队列内的主线程,通过主线程进行处理,调取资源执行对应任务,完成任务时返回第二处理结果传输至外部进行显示;完成任务后还清除主线程调取的资源,清除窗口对象。
10.根据权利要求9所述的多线程创建方法,其特征在于:步骤B1中对操作指令所要求执行的任务进行判断,当所要执行的任务延时或者执行任务所用的资源只是在线程中,则所要执行的任务需要在线程处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611021345.0A CN106708614B (zh) | 2016-11-21 | 2016-11-21 | 多线程创建系统及方法、多线程处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611021345.0A CN106708614B (zh) | 2016-11-21 | 2016-11-21 | 多线程创建系统及方法、多线程处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708614A true CN106708614A (zh) | 2017-05-24 |
CN106708614B CN106708614B (zh) | 2019-12-10 |
Family
ID=58941047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611021345.0A Expired - Fee Related CN106708614B (zh) | 2016-11-21 | 2016-11-21 | 多线程创建系统及方法、多线程处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708614B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506184A (zh) * | 2017-08-07 | 2017-12-22 | 上海青橙实业有限公司 | 系统应用消息的处理方法和装置 |
CN109614237A (zh) * | 2018-12-10 | 2019-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种资源释放方法、装置、设备及介质 |
CN113155851A (zh) * | 2021-04-30 | 2021-07-23 | 西安交通大学 | 基于深度学习的覆铜板表面缺陷视觉在线检测方法及装置 |
CN116887222A (zh) * | 2023-06-28 | 2023-10-13 | 赛力斯汽车有限公司 | 车载ota模块异步接口超时回复方法、装置、设备和介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052978A1 (en) * | 2000-10-30 | 2002-05-02 | Microsoft Corporation | Method and apparatus for providing and integrating high-performance message queues in a user interface environment |
CN1794185A (zh) * | 2005-12-30 | 2006-06-28 | 北京金山软件有限公司 | 一种多线程处理中的资源调用方法 |
CN101060500A (zh) * | 2006-06-08 | 2007-10-24 | 华为技术有限公司 | 一种通讯套接方法和系统 |
CN102841803A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 一种异步调用java线程中本地代码的方法及装置 |
CN102902512A (zh) * | 2012-08-31 | 2013-01-30 | 浪潮电子信息产业股份有限公司 | 一种基于多线程编程及消息队列的多线程并行处理方法 |
CN102999386A (zh) * | 2012-11-08 | 2013-03-27 | 山东大学 | 一种通过在单进程中实现多消息队列机制提升性能的方法 |
CN103345427A (zh) * | 2013-07-15 | 2013-10-09 | 四川公用信息产业有限责任公司 | 基于Android消息处理机制的视图切换系统及方法 |
CN104063276A (zh) * | 2013-03-18 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 一种窗口任务处理的方法及装置 |
CN104102488A (zh) * | 2014-07-18 | 2014-10-15 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN105930208A (zh) * | 2016-04-01 | 2016-09-07 | 广州华多网络科技有限公司 | 一种线程调度方法及线程调度装置 |
-
2016
- 2016-11-21 CN CN201611021345.0A patent/CN106708614B/zh not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020052978A1 (en) * | 2000-10-30 | 2002-05-02 | Microsoft Corporation | Method and apparatus for providing and integrating high-performance message queues in a user interface environment |
CN1794185A (zh) * | 2005-12-30 | 2006-06-28 | 北京金山软件有限公司 | 一种多线程处理中的资源调用方法 |
CN101060500A (zh) * | 2006-06-08 | 2007-10-24 | 华为技术有限公司 | 一种通讯套接方法和系统 |
CN102841803A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 一种异步调用java线程中本地代码的方法及装置 |
CN102902512A (zh) * | 2012-08-31 | 2013-01-30 | 浪潮电子信息产业股份有限公司 | 一种基于多线程编程及消息队列的多线程并行处理方法 |
CN102999386A (zh) * | 2012-11-08 | 2013-03-27 | 山东大学 | 一种通过在单进程中实现多消息队列机制提升性能的方法 |
CN104063276A (zh) * | 2013-03-18 | 2014-09-24 | 腾讯科技(深圳)有限公司 | 一种窗口任务处理的方法及装置 |
CN103345427A (zh) * | 2013-07-15 | 2013-10-09 | 四川公用信息产业有限责任公司 | 基于Android消息处理机制的视图切换系统及方法 |
CN104102488A (zh) * | 2014-07-18 | 2014-10-15 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN105930208A (zh) * | 2016-04-01 | 2016-09-07 | 广州华多网络科技有限公司 | 一种线程调度方法及线程调度装置 |
Non-Patent Citations (2)
Title |
---|
喻红丹: "基于多线程的嵌入式GUI的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
贺欢: "基于WinCE嵌入式组态软件设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506184A (zh) * | 2017-08-07 | 2017-12-22 | 上海青橙实业有限公司 | 系统应用消息的处理方法和装置 |
CN109614237A (zh) * | 2018-12-10 | 2019-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种资源释放方法、装置、设备及介质 |
CN113155851A (zh) * | 2021-04-30 | 2021-07-23 | 西安交通大学 | 基于深度学习的覆铜板表面缺陷视觉在线检测方法及装置 |
CN116887222A (zh) * | 2023-06-28 | 2023-10-13 | 赛力斯汽车有限公司 | 车载ota模块异步接口超时回复方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106708614B (zh) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708614A (zh) | 多线程创建系统及方法、多线程处理系统及方法 | |
CN106790599B (zh) | 一种基于多核无锁环形缓冲区的共生虚拟机通信方法 | |
CN104823155B (zh) | 基于存储器的旗语 | |
US20120256922A1 (en) | Multithreaded Processor and Method for Realizing Functions of Central Processing Unit and Graphics Processing Unit | |
CN105654383A (zh) | 基于流水线架构的低时延fast行情解码装置和方法 | |
CN106651748B (zh) | 一种图像处理方法与图像处理装置 | |
TW200719275A (en) | Method for an interruptible graphics processing unit to process multi-programs and graphics processing unit | |
CN109213607B (zh) | 一种多线程渲染的方法和装置 | |
CN110519138B (zh) | 一种Profibus-DP主站协议的实现方法及系统 | |
CN102334104B (zh) | 一种基于多核系统的同步处理方法及装置 | |
CN110825440A (zh) | 指令执行方法和装置 | |
CN106528225B (zh) | 一种游戏服务器的热更新方法及装置 | |
CN114579285A (zh) | 一种任务运行系统、方法及计算设备 | |
CN101980147A (zh) | 多线程处理器及其指令执行与同步方法及计算机程序产品 | |
US20230342211A1 (en) | Method and device for controlling hardware accelerator by using sw framework structure homogeneous multi-core accelerator for supporting acceleration of time-critical task | |
CN109407578A (zh) | 一种Profibus-DP总线控制器的数据处理方法 | |
CN106683033B (zh) | 一种乱序OpenGL接口处理方法 | |
CN107729057B (zh) | 一种在多核dsp下的数据块多缓冲流水处理方法 | |
CN104123177B (zh) | 一种无锁的多线程数据同步方法 | |
CN109766168B (zh) | 任务调度方法和装置、存储介质以及计算设备 | |
CN106775975A (zh) | 进程调度方法及装置 | |
CN101634956A (zh) | 多核处理器消息调度方法及调度器 | |
EP4086753A1 (en) | Decision scheduling customization method and device based on information flow | |
US20180011804A1 (en) | Inter-Process Signaling Mechanism | |
CN109918321B (zh) | 一种基于PCIe总线的在线重构方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |