基于web前端技术的多线程处理方法、设备及存储介质技术

技术编号:25755868 阅读:26 留言:0更新日期:2020-09-25 21:05
本发明专利技术所提供的基于web前端技术的多线程处理方法、设备及存储介质,包括:待处理场景的主程序接收用户撰写指令,得到待处理场景对应的计算函数;接收用户操作指令,预先设置的启动函数开启,根据所述计算函数和启动函数调用多线程程序;主程序将待处理场景对应的原始数据发送至多线程程序,所述多线程程序对原始数据进行处理后,得到结果数据,并将结果数据发送至主程序。本发明专利技术通过在待处理场景的主程序中完成计算函数的撰写以及调用多线程程序,无需在使用webworker脚本文件的同级目录下新建worker.js文件进行初始化调用,避免了浏览器脚本语言操作文件,使得使用者能够顺利利用多线程技术。

【技术实现步骤摘要】
基于web前端技术的多线程处理方法、设备及存储介质
本专利技术涉及web前端技术
,尤其涉及的是基于web前端技术的多线程处理方法、设备及存储介质。
技术介绍
web前端
一直以来都是以单线程为绝对主流的方式运行着各式各样的系统,单线程也称主线程,在web前端领域,单线程指的是所有计算的逻辑必须以排队的方式由一个处理器进行计算,然后返回结果。单线程要按事件循环的队列完成大部分系统运行的日常任务,例如dom解析(网页的主体组成结构)与渲染,脚本语言的解释和执行,绘制图形等。随着web前端技术的进步,新一代html5标准的推出,提出了webworker(web端多线程)的概念。所谓webworker指的是独立于主线程之外的单独线程,调度操作系统资源进行独立运算任务,并可以与主线程进行通讯交换运算结果的一种多线程技术。主线程模式最大的问题在于在计算任务多,计算任务耗时长的时候会被阻塞,阻塞指的是由于主线程在运算其他任务导致与用户交互的部分逻辑和图标无法及时更新,造成系统卡顿甚至崩溃的现象。webworker不会阻塞主线程的工作,而是在主线程运行的同时并行运算处理任务,在完成后将结果返回给主线程。但是,传统的webworker技术受限非常大,要求必须在使用webworker脚本文件的同级目录下新建一个worker.js文件进行初始化调用。而浏览器脚本语言操作文件的能力是十分孱弱的,也就导致webworker技术很难被动态地嵌入应用到一般的web开发脚本当中,很难被利用起来,使用场景受限。因此,现有技术存在缺陷,有待改进与发展。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供基于web前端技术的多线程处理方法、设备及存储介质,旨在解决现有技术中在多线程的处理过程中,必须在使用webworker脚本文件的同级目录下新建一个worker.js文件进行初始化调用,而浏览器脚本语言操作文件的能力较差,多线程技术很难被利用的问题。本专利技术解决技术问题所采用的技术方案如下:一种基于web前端技术的多线程处理方法,其中,包括:待处理场景的主程序接收用户撰写指令,得到待处理场景对应的计算函数;接收用户操作指令,预先设置的启动函数开启,根据所述计算函数和启动函数调用多线程程序;主程序将待处理场景对应的原始数据发送至多线程程序,所述多线程程序对原始数据进行处理后,得到结果数据,并将结果数据发送至主程序。进一步地,所述待处理场景的主程序接收用户撰写指令,得到待处理场景对应的计算函数的步骤具体为:所述待处理场景的主程序接收用户撰写指令,得到第一onmessage函数、计算算法和第一postMessage函数;所述第一onmessage函数用于接收主程序的原始数据,所述计算算法为待处理场景对应的用户自定义算法,所述第一postMessage函数用于向主程序返回计算完成的结果数据。进一步地,所述接收用户操作指令,预先设置的启动函数开启,根据所述计算函数和启动函数调用多线程程序的步骤具体包括:所述接收用户操作指令,预先设置的启动函数开启;所述计算函数传输至启动函数,并根据所述计算函数和启动函数调用多线程程序。进一步地,所述计算函数传输至启动函数,并根据所述计算函数和启动函数调用多线程程序的步骤具体包括:所述计算函数传输至启动函数,启动函数接收到计算函数,并将所述计算函数字符串化及二进制化;将一个二进制文件对象的地址指向所述计算函数后,调用多线程程序。进一步地,所述计算函数传输至启动函数,启动函数接收到计算函数,并将所述计算函数字符串化及二进制化的步骤具体包括:所述计算函数传输至启动函数,启动函数接收到计算函数,利用计算函数的toString()方法将所述计算函数字符串化;利用newBlob将字符串化的计算函数二进制化。进一步地,所述将一个二进制文件对象的地址指向所述计算函数后,调用多线程程序的步骤具体包括:利用URL.createObjectURL将一个二进制文件对象的地址指向二进制化的计算函数;利用newWorker进行多线程webworker创建。进一步地,所述基于web前端技术的多线程处理方法还包括:待处理场景的主程序接收用户编写指令,得到第二onmessage函数和第二postMessage函数;所述第二onmessage函数用于接收多线程程序发送的结果数据,所述第二postMessage函数用于将主程序的原始数据发送至多线程程序。进一步地,所述主程序将待处理场景对应的原始数据发送至多线程程序,所述多线程程序对原始数据进行处理后,得到结果数据,并将结果数据发送至主程序的步骤具体包括:主程序将待处理场景对应的原始数据通过第二postMessage函数传递给多线程程序;多线程程序利用第一onmessage函数接收所述原始数据,并利用计算函数中的计算算法进行异步计算;计算完毕后得到结果数据,多线程程序通过第一postMessage函数将结果数据发送至主程序;主程序通过第二onmessage函数接收结果数据,并直接使用所述结果数据。本专利技术还提供一种设备,其中,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于web前端技术的多线程处理程序,所述基于web前端技术的多线程处理程序被所述处理器执行时实现如上所述的基于web前端技术的多线程处理方法的步骤。本专利技术还提供一种存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序能够被执行以用于实现如上所述的基于web前端技术的多线程处理方法。本专利技术所提供的基于web前端技术的多线程处理方法、设备及存储介质,包括:待处理场景的主程序接收用户撰写指令,得到待处理场景对应的计算函数;接收用户操作指令,预先设置的启动函数开启,根据所述计算函数和启动函数调用多线程程序;主程序将待处理场景对应的原始数据发送至多线程程序,所述多线程程序对原始数据进行处理后,得到结果数据,并将结果数据发送至主程序。本专利技术通过在待处理场景的主程序中完成计算函数的撰写以及调用多线程程序,最终实现多线程程序帮助主程序进行数据计算,无需在使用webworker脚本文件的同级目录下新建worker.js文件进行初始化调用,避免了浏览器脚本语言操作文件,使得使用者能够顺利利用多线程技术。附图说明图1是本专利技术中基于web前端技术的多线程处理方法较佳实施例的流程图。图2是本专利技术使用场景中绘制多边形体的示意图。图3是本专利技术使用场景中主程序渲染后的可视化效果图。图4是本专利技术使用场景中多线程程序渲染后的可视化效果图。图5是本专利技术中设备的较佳实施例的功能原理框图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描本文档来自技高网
...

【技术保护点】
1.一种基于web前端技术的多线程处理方法,其特征在于,包括:/n待处理场景的主程序接收用户撰写指令,得到待处理场景对应的计算函数;/n接收用户操作指令,预先设置的启动函数开启,根据所述计算函数和启动函数调用多线程程序;/n主程序将待处理场景对应的原始数据发送至多线程程序,所述多线程程序对原始数据进行处理后,得到结果数据,并将结果数据发送至主程序。/n

【技术特征摘要】
1.一种基于web前端技术的多线程处理方法,其特征在于,包括:
待处理场景的主程序接收用户撰写指令,得到待处理场景对应的计算函数;
接收用户操作指令,预先设置的启动函数开启,根据所述计算函数和启动函数调用多线程程序;
主程序将待处理场景对应的原始数据发送至多线程程序,所述多线程程序对原始数据进行处理后,得到结果数据,并将结果数据发送至主程序。


2.根据权利要求1所述的基于web前端技术的多线程处理方法,其特征在于,所述待处理场景的主程序接收用户撰写指令,得到待处理场景对应的计算函数的步骤具体为:
所述待处理场景的主程序接收用户撰写指令,得到第一onmessage函数、计算算法和第一postMessage函数;
所述第一onmessage函数用于接收主程序的原始数据,所述计算算法为待处理场景对应的用户自定义算法,所述第一postMessage函数用于向主程序返回计算完成的结果数据。


3.根据权利要求2所述的基于web前端技术的多线程处理方法,其特征在于,所述接收用户操作指令,预先设置的启动函数开启,根据所述计算函数和启动函数调用多线程程序的步骤具体包括:
所述接收用户操作指令,预先设置的启动函数开启;
所述计算函数传输至启动函数,并根据所述计算函数和启动函数调用多线程程序。


4.根据权利要求3所述的基于web前端技术的多线程处理方法,其特征在于,所述计算函数传输至启动函数,并根据所述计算函数和启动函数调用多线程程序的步骤具体包括:
所述计算函数传输至启动函数,启动函数接收到计算函数,并将所述计算函数字符串化及二进制化;
将一个二进制文件对象的地址指向所述计算函数后,调用多线程程序。


5.根据权利要求4所述的基于web前端技术的多线程处理方法,其特征在于,所述计算函数传输至启动函数,启动函数接收到计算函数,并将所述计算函数字符串化及二进制化的步骤具体包括:
所述计算函数传输至启动函数,启动函数接收到计算函数,利用计算函数的toString()方法将所述计算函数字符串化;
利用ne...

【专利技术属性】
技术研发人员:郭博阳吴闽华姜坤卫宣安
申请(专利权)人:深圳震有科技股份有限公司
类型:发明
国别省市:广东;44

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

1