多线程的程序编写方法和程序编写系统与流程

文档序号:15019725发布日期:2018-07-25 00:25阅读:286来源:国知局
技术简介:
本发明针对传统单线程软件模块增多导致执行效率下降、多线程编程复杂度高的问题,提出通过预定义待调用变量和函数,并结合变量锁管理机制,实现多线程编程的自动化调度与资源隔离。该方法将多线程逻辑封装为可复用的函数模块,通过变量锁控制共享数据访问,显著降低开发难度,提升软件执行效率。
关键词:多线程编程,变量锁管理

本发明涉及软件开发技术领域,具体涉及一种多线程的程序编写方法和程序编写系统。



背景技术:

目前很多软件虽然采用了基于模块化开发的编程方法,但是仍然是单线程的。随着软件规模增大,模块增多,软件的执行速度随之下降。通过使用多线程编程能够加快多模块软件的执行速度,但是由于多线程编程难度大,对开发人员要求高,软件也很难切换到多线程。



技术实现要素:

本发明旨在至少解决上述技术问题之一。

为此,本发明的第一个目的在于提出一种多线程的程序编写方法,可以简化多线程的编程工作,提高编程软件的执行效率。

为了实现上述目的,本发明的实施例公开了一种多线程的程序编写方法,包括以下步骤:提供多个待调用变量和多个待调用函数,其中,每个所述待调用函数包括第一函数和第二函数,所述第一函数用于通过接收所述待调用变量执行单线程操作,所述第二函数用于对所述第一函数进行初始化和调用;通过所述多个待调用函数和所述多个待调用变量进行多线程编程。

根据本发明实施例的多线程的程序编写方法,通过预先定义好多个待调用变量和多个待调用函数,在开启多线程时分别调用预先定义好的函数,并使用预先定义好的变量,可以简化多线程的编程工作,提高编程软件的执行效率。

另外,根据本发明上述实施例的多线程的程序编写方法,还可以具有如下附加的技术特征:

进一步地,所述提供多个待调用变量的步骤包括:定义多个变量;对所述多个变量一一对应地定义多个变量锁;根据所述多个变量和所述多个变量锁得到所述多个待调用变量。

进一步地,所述通过所述多个待调用函数和所述多个待调用变量进行多线程编程具体包括:开通多个线程;为所述多个线程中的每个线程,从所述多个待调用函数中选定待调用函数作为线程执行函数;从所述多个待调用变量中选定一个或多个待调用变量作为线程执行变量;使用所述线程执行变量对应的变量锁对所述线程执行变量进行锁定;通过所述线程执行函数和所述线程执行变量执行线程,并在所述线程执行完毕后解除对所述线程执行变量的锁定。

本发明的第二个目的在于提出一种多线程的程序编写系统,可以简化多线程的编程工作,提高编程软件的执行效率。

为了实现上述目的,本发明的实施例公开了一种多线程的程序编写系统,包括:定义模块,用于定义多个待调用变量和多个待调用函数,其中,每个所述待调用函数包括第一函数和第二函数,所述第一函数用于通过接收所述待调用变量执行单线程操作,所述第二函数用于对所述第一函数进行初始化和调用;多线程编程模块,用于调用所述多个待调用函数和所述多个待调用变量进行多线程编程。

根据本发明实施例的多线程的程序编写系统,通过预先定义好多个待调用变量和多个待调用函数,在开启多线程时分别调用预先定义好的函数,并使用预先定义好的变量,可以简化多线程的编程工作,提高编程软件的执行效率。

另外,根据本发明上述实施例的多线程的程序编写系统,还可以具有如下附加的技术特征:

进一步地,所述定义模块具体用于定义多个变量,并对所述多个变量一一对应地定义多个变量锁,进而根据所述多个变量和所述多个变量锁得到所述多个待调用变量。

进一步地,所述多线程编程模块具体用于开通多个线程,并对为所述多个线程中的每个线程,从所述多个待调用函数中选定待调用函数作为线程执行函数,并从所述多个待调用变量中选定一个或多个待调用变量作为线程执行变量,进而使用所述线程执行变量对应的变量锁对所述线程执行变量进行锁定,然后通过所述线程执行函数和所述线程执行变量执行线程,并在所述线程执行完毕后解除对所述线程执行变量的锁定。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一个实施例的多线程的程序编写方法的流程图;

图2是本发明一个实施例的多线程的程序编写系统的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

以下结合附图描述本发明。

图1是本发明一个实施例的多线程的程序编写方法的流程图。如图1所示,本发明实施例的多线程的程序编写方法,包括以下步骤:

S1:提供多个待调用变量和多个待调用函数。其中,每个待调用函数包括第一函数和第二函数,第一函数用于通过接收待调用变量执行单线程操作,第二函数用于对第一函数进行初始化和调用。

具体地,构建一套编程库,在编程库中定义多个待调用函数,形成待调用函数{Ai},其中i为自然数。在每个待调用函数中定义第一函数和第二函数。其中,第一函数可以为扩展名称后的函数,该函数用来接收待调用变量,作为单独线程进行函数功能执行。第二函数用于进行待用于对第一函数进行初始化和调用。通过变量池进行变量传递,通过线程状态标识变量进行线程函数的状态指示。

在本发明的一个实施例中,提供多个待调用变量的步骤包括:定义多个变量;对多个变量一一对应地定义多个变量锁;根据多个变量和多个变量锁得到多个待调用变量。

具体地,对一些共享变量(例如全局变量)设置变量锁,以便在共享变量被某个线程调用时,对该共享变量进行锁定,防止多线程同时修改共享变量导致结果出错。定义所有待调用变量形成待调用变量库{Bj},其中j为自然数。

S2:通过多个待调用函数和多个待调用变量进行多线程编程。

在本发明的一个实施例中,步骤S2具体包括:S2-1:开通多个线程;S2-2:执行多个线程。其中,步骤S2-2包括:从多个待调用函数中选定待调用函数作为线程执行函数;从多个待调用变量中选定一个或多个待调用变量作为线程执行变量;使用线程执行变量对应的变量锁对线程执行变量进行锁定;通过线程执行函数和线程执行变量执行线程,并在线程执行完毕后解除对线程执行变量的锁定。

在本发明的一个示例中,线程N1选定了从待调用函数库{Ai}中选择了函数A3,并从待调用变量库{Bj}中选择了变量B5和B10。其中,B5为共享变量,B10为非共享变量。在使用变量B5时,首先启动变量B5对应的变量锁对变量B5进行锁定。然后通过变量池进行变量传递,使用函数A3,以及变量B5和B10执行线程N1。在线程N1执行完毕后解除对变量B5的锁定。

根据本发明实施例的多线程的程序编写方法,通过预先定义好多个待调用变量和多个待调用函数,在开启多线程时分别调用预先定义好的函数,并使用预先定义好的变量,可以简化多线程的编程工作,提高编程软件的执行效率。

图2是本发明一个实施例的多线程的程序编写系统的结构框图。本发明实施例的多线程的程序编写系统,包括:定义模块100和多线程编程模块200。

其中,定义模块100用于定义多个待调用变量和多个待调用函数。其中,每个待调用函数包括第一函数和第二函数,第一函数用于通过接收待调用变量执行单线程操作,第二函数用于对第一函数进行初始化和调用。多线程编程模块200用于调用多个待调用函数和多个待调用变量进行多线程编程。

根据本发明实施例的多线程的程序编写系统,通过预先定义好多个待调用变量和多个待调用函数,在开启多线程时分别调用预先定义好的函数,并使用预先定义好的变量,可以简化多线程的编程工作,提高编程软件的执行效率。

在本发明的一个实施例中,定义模块100具体用于定义多个变量,并对多个变量一一对应地定义多个变量锁,进而根据多个变量和多个变量锁得到多个待调用变量。

在本发明的一个实施例中,多线程编程模块200具体用于开通多个线程,并对为多个线程中的每个线程,从多个待调用函数中选定待调用函数作为线程执行函数,并从多个待调用变量中选定一个或多个待调用变量作为线程执行变量,进而使用线程执行变量对应的变量锁对线程执行变量进行锁定,然后通过线程执行函数和线程执行变量执行线程,并在线程执行完毕后解除对线程执行变量的锁定。

需要说明的是,本发明实施例的多线程的程序编写系统的具体实施方式与本发明实施例的多线程的程序编写方法的具体实施方式类似,具体参见多线程的程序编写方法部分的描述,为了减少冗余,不做赘述。

另外,本发明实施例的多线程的程序编写方法和程序编写系统的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!