1.一种多任务下载的方法,其特征在于,包括:
浏览器启动,在浏览器中加载用于下载管理的动态库;
通过所述浏览器的网页接收用户的下载指令,并通过所述浏览器的javascript扩展接口调用所述动态库的相应函数接口,在共享内存中写入数据;所述共享内存由所述浏览器和下载进程共同创建;
启动所述下载进程,从所述共享内存中读取数据,并根据读取的数据进行多任务下载。
2.根据权利要求1所述的方法,其特征在于,所述共享内存中的数据包括控制标志位以及下载信息;所述下载信息至少包括如下信息中的一个:下载任务个数、下载地址、下载完成后的保存路径、子进程标识。
3.根据权利要求2所述的方法,其特征在于,所述启动下载进程,从所述共享内存中读取数据,并根据读取的数据进行多任务下载的步骤包括:父进程启动下载进程,并读取所述共享内存中的控制标志位;
当所述控制标志位为第一预定值时,所述父进程读取所述共享内存中的下载信息,并根据所述下载信息,创建至少两个用于下载任务的子进程;
通过所述子进程进行多任务下载。
4.根据权利要求3所述的方法,其特征在于,所述通过子进程进行多任务下载的步骤包括:所述子进程创建各自的下载子线程;并通过主线程控制所述子线程执行相应下载任务。
5.根据权利要求2-4中任一项所述的方法,其特征在于,还包括:在多任务下载过程中,通过所述浏览器的网页接收用户的下载更新指令;
通过所述浏览器的javascript扩展接口调用所述动态库的相应函数接口,在所述共享内存中更新所述控制标志位的值并写入下载状态改变的子进程标识。
6.根据权利要求5所述的方法,其特征在于,所述通过子进程进行多任务下载的步骤还包括:所述子进程的主线程监听所述共享内存中的控制标志位;
当所述共享内存中的控制标志位为非所述第一预定值时,获取所述共享内存中下载状态改变的子进程标识;
比较所述下载状态改变的子进程标识与所述主线程当前的子进程标识;若两者不一致,则保持当前子线程的下载进程的状态;否则所述主线程根据所述共享内存中的控制标志位,控制当前子线程的下载任务的状态。
7.一种多任务下载的终端,其特征在于,包括:浏览器模块及任务下载模块,其中:所述浏览器模块包括:
加载单元,用于在浏览器启动时,在所述浏览器中加载用于下载管理的动态库;
接收单元,用于通过所述浏览器的网页接收用户的下载指令;
写入单元,用于通过所述浏览器的javascript扩展接口调用所述动态库的相应函数接口,在共享内存中写入数据;所述共享内存由所述浏览器和下载进程共同创建;
所述任务下载模块,用于启动所述下载进程,从所述共享内存中读取数据,并根据读取的数据进行多任务下载。
8.根据权利要求7所述的终端,其特征在于,所述任务下载模块包括:父进程单元,用于启动下载进程,并读取所述共享内存中的控制标志位;当所述控制标志位为第一预定值时,读取所述共享内存中的下载信息,并根据所述下载信息,创建至少两个用于下载任务的子进程。
子进程单元,用于通过所述子进程进行多任务下载。
9.根据权利要求8所述的终端,其特征在于,所述子进程单元包括:创建单元,用于创建下载任务的子线程;
子线程单元,用于执行所述子线程对应的下载任务;
主线程单元,用于控制所述子线程单元执行相应下载任务。
10.根据权利要求7、8或9所述的终端,其特征在于,所述接收单元,还用于在多任务下载过程中,通过所述浏览器的网页接收用户的下载更新指令;
所述写入单元,还用于通过所述浏览器的javascript扩展接口调用所述动态库的相应函数接口,在所述共享内存中更新控制标志位的值并写入下载状态改变的子进程标识。
11.根据权利要求9所述的终端,其特征在于,所述主线程单元还用于监听所述共享内存中的控制标志位;当所述共享内存中的控制标志位为非所述第一预定值时,获取所述共享内存中下载状态改变的子进程标识;比较所述下载状态改变的子进程标识与所述主线程当前的子进程标识;若两者不一致,则保持当前子线程的下载进程的状态;否则,根据所述共享内存中的控制标志位,控制当前子线程的下载任务的状态。