一种任务处理方法、装置、设备及介质制造方法及图纸

技术编号:35653476 阅读:9 留言:0更新日期:2022-11-19 16:49
本申请公开了一种任务处理方法、装置、设备及介质,包括:当用户对目标表格执行触发操作时,第一线程可以获取相应的目标任务。当该目标任务为计算任务时,第一线程可以将计算任务发送给第二线程,以便第二线程处理该计算任务。当目标任务为页面渲染任务时,第一线程可以处理页面渲染任务,对目标表格进行页面渲染。也就是,当第一线程获取到计算任务时,即可以将计算任务发送给第二线程进行处理,避免第一线程由于处理计算任务而无法及时执行页面渲染任务的问题,可以解决当计算任务较多时引起的页面卡顿问题。起的页面卡顿问题。起的页面卡顿问题。

【技术实现步骤摘要】
一种任务处理方法、装置、设备及介质


[0001]本申请涉及计算机
,具体涉及一种任务处理方法、装置、设备及介质。

技术介绍

[0002]浏览器在基于JavaScript脚本处理页面的任务时,可以利用主线程来处理用户事件以及页面绘制等任务。默认情况下,浏览器在主线程中运行一个页面中的所有JavaScript脚本,由于JavaScript语言的单线程特性,当浏览器运行一个较长时间的JavaScript脚本时,会阻塞主线程执行页面渲染任务,其中,页面渲染指生成帧并将生成的帧显示在屏幕上的动作。这样导致用户在操作页面时,浏览器无法及时响应用户的操作,页面绘制不及时以致于页面无法响应等问题,影响用户体验。

技术实现思路

[0003]有鉴于此,本申请实施例提供一种任务处理方法、装置、设备及介质,以实现不影响计算性能的情况下,解决页面渲染卡顿的问题。
[0004]为实现上述目的,本申请提供的技术方案如下:
[0005]在本申请第一方面,提供了一种任务处理方法,所述方法应用于第一线程,所述方法包括:
[0006]响应于用户针对目标表格的触发操作,获取目标任务;
[0007]当所述目标任务为计算任务时,将所述计算任务发送给第二线程,以便所述第二线程处理所述计算任务;
[0008]当所述目标任务为页面渲染任务时,处理所述页面渲染任务对所述目标表格进行页面渲染。
[0009]在本申请第二方面,提供了一种任务处理方法,所述方法应用于第二线程,所述方法包括:
[0010]接收第一线程发送的计算任务,所述计算任务中包括所述目标表格的内容;
[0011]基于所述目标表格的内容,调用目标函数处理所述计算任务,获得计算结果;
[0012]将所述计算结果发送给所述第一线程。
[0013]在本申请第三方面,提供了一种任务处理装置,所述装置应用于第一线程,所述装置包括:
[0014]获取单元,用于响应于用户针对目标表格的触发操作,获取目标任务;
[0015]第一发送单元,用于当所述目标任务为计算任务时,将所述计算任务发送给第二线程,以便所述第二线程处理所述计算任务;
[0016]第一处理单元,用于当所述目标任务为页面渲染任务时,处理所述页面渲染任务对所述目标表格进行页面渲染。
[0017]在本申请第四方面,提供了一种任务处理装置,所述装置应用于第二线程,所述装置包括:
[0018]接收单元,用于接收第一线程发送的计算任务,所述计算任务中包括所述目标表格的内容;
[0019]第二处理单元,用于基于所述目标表格的内容,调用目标函数处理所述计算任务,获得计算结果;
[0020]第二发送单元,用于将所述计算结果发送给所述第一线程。
[0021]在本申请第五方面,提供了一种电子设备,所述设备包括:存储器以及处理器;
[0022]所述存储器,用于存储指令或计算机程序;
[0023]所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行第一方面或第二方面所述的方法。
[0024]在本申请第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在设备上运行时,使得所述设备执行第一方面或第二方面所述的方法。
[0025]在本申请第七方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面或第二方面所述的方法。
[0026]由此可见,本申请实施例具有如下有益效果:
[0027]本申请实施例中,当用户对目标表格执行触发操作时,第一线程可以获取相应的目标任务。当该目标任务为计算任务时,第一线程可以将计算任务发送给第二线程,以便第二线程处理该计算任务。当目标任务为页面渲染任务时,第一线程可以处理页面渲染任务,以实现目标表格的页面渲染。也就是,当第一线程获取到计算任务时,即可以将计算任务发送给第二线程进行处理,避免第一线程由于处理计算任务而无法及时执行页面渲染任务的问题,可以解决当计算任务较多时引起的页面卡顿问题。
附图说明
[0028]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0029]图1为本申请实施例提供的一种主线程处理任务的示意图;
[0030]图2为本申请实施例提供的一种任务处理方法的示意图;
[0031]图3为本申请实施例提供的一种任务处理方法的流程图;
[0032]图4为本申请实施例提供的另一种任务处理方法的流程图;
[0033]图5为本申请实施例提供的一种模块划分的示意图;
[0034]图6为本申请实施例提供的一种模块的交互示意图;
[0035]图7为本申请实施例提供的一种任务处理装置的示意图;
[0036]图8为本申请实施例提供的另一种任务处理装置的示意图;
[0037]图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0038]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039]为了便于理解本申请的技术方案,首先对本申请所涉及的技术背景进行介绍。
[0040]通常情况下,浏览器在主线程中会运行一个页面中的各个JavaScript脚本,由于JavaScript语言的单线程特性,当浏览器运行一个较长时间的JavaScript脚本时,会阻塞主线程执行页面渲染任务,这样导致用户在操作页面时,浏览器无法及时响应用户的操作,以致于出现页面卡顿无法响应等问题,影响用户体验。
[0041]以浏览器处理电子表格中的公式计算任务为例,随着电子表格中单元格的上限不断提升,以及电子表格在数据处理场景的广泛使用,包含大量复杂公式的表格使用的频率越来越高。目前的电子表格可以支持200万单元格,用户可以在单元格编写各种复杂的公式进行数据计算。当公式计算量达到一定的规模(例如10万)时,主线程处理计算任务可能花费大量的时间,导致用户在电子表格的界面执行操作时,主线程难以及时处理用户的操作并进行页面渲染,使电子表格的页面出现卡顿的现象。如图1所示,为一种主线程处理任务的示意图。当主线程接收任务进行处理时,如果主线程正在处理一个时间较长的计算任务,当接收到页面渲染的任务时,计算任务会阻塞主线程处理页面渲染任务,造成页面卡顿。
[0042]目前的一种解决方法是利用函数优化策略,例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务处理方法,其特征在于,所述方法应用于第一线程,所述方法包括:响应于用户针对目标表格的触发操作,获取目标任务;当所述目标任务为计算任务时,将所述计算任务发送给第二线程,以便所述第二线程处理所述计算任务;当所述目标任务为页面渲染任务时,处理所述页面渲染任务对所述目标表格进行页面渲染。2.根据权利要求1所述的方法,其特征在于,当所述目标任务为计算任务时,所述响应于用户针对目标表格的触发操作,获取目标任务,包括:响应于所述用户针对所述目标表格中目标单元格的第一编辑操作,生成编辑操作指令,所述第一编辑操作为触发所述目标单元格对应的计算任务的编辑操作,所述编辑操作指令中包括所述目标单元格的编辑内容;基于所述编辑操作指令,获取所述目标单元格对应的变更内容集合;所述将所述计算任务发送给所述第二线程,以便所述第二线程处理所述计算任务,包括:将所述变更内容集合发送给所述第二线程,以便所述第二线程根据所述变更内容集合执行所述目标单元格所对应的计算任务。3.根据权利要求1所述的方法,其特征在于,当所述目标任务为页面渲染任务时,所述响应于用户针对目标表格的触发操作,获取目标任务,包括:响应于所述用户针对所述目标表格的第二编辑操作,生成所述页面渲染任务,所述第二编辑操作为不触发计算任务的编辑操作。4.根据权利要求1所述的方法,其特征在于,当所述目标任务为计算任务时,所述响应于用户针对目标表格的触发操作,获取目标任务,包括:响应于所述用户滚动浏览所述目标表格的操作,获取当前显示窗口所显示的所述目标表格中的至少一个第一单元格;从所述至少一个第一单元格中确定第二单元格,所述第二单元格为具有计算任务的单元格;获取所述第二单元格所对应的计算任务。5.根据权利要求2所述的方法,其特征在于,在获取所述目标单元格对应的变更内容集合之后,所述方法还包括以下一项或多项:基于所述变更内容集合更新第一数据模块,所述第一数据模块用于所述第一线程存储所述目标表格的内容;将所述变更内容集合发送给服务端,以便所述服务端根据所述变更内容集合更新所述目标表格中的内容。6.根据权利要求3所述的方法,其特征在于,所述用户针对所述目标表格的第二编辑操作包括:高亮显示所述目标表格中的单元格、修改所述目标表格中单元格的内容且不触发所述单元格所对应的计算任务、滚动浏览所述目标表格且不触发计算任务以及放大/缩小显示所述目标表格的至少一种。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述第二线程处理所述计算任务后返回的计算结果;
对所述目标表格进行页面渲染以显示所述计算结果。8.根据权利要求1至7任一项所述的方法,其特征在于,所述第一线程包括:主线程;所述第二线程包括:工作者Worker线程。9.一种任务处理方法,其特征在于,所述方法应用于第二线程,所述方法包括:接收第一线程发送的计算任务,所述计算任务中包括所述目标表格的内容;基于所述目标表格的内容,调用目标函数处理所述计算任务,获得计算结果;将所述计算结果发送给所述第一线程。10.根据权利要求9所述的方法,其特征在于,接收第一线程发送的计算任务,包括:接收所述第一线程发送的所述目标单元格对应的变更内容集合,所述第一编辑操作为触发所述目标单元格所对应的计算任务的编辑操...

【专利技术属性】
技术研发人员:骆铭涛张雷
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

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

1