一:场景描述
在一个文件下查找js文件中指定的关键字,并记录完成查找所需时间。完成此任务使用了3种写法,分别为:
1.仅使用一个task,在任务中进行for循环,循环调用异步业务处理方法,只利用一个后台线程进行业务处理。
2.先查找出文件路径,然后对每一个文件路径创建一个task,然后用这N个task并行完成业务处理。
3.也只利用一个task,在任务中进行for循环,循环调用同步业务处理方法,也只利用一个后台线程进行业务处理。
二:运行结果:
三:结论:
如果利用一个task,那么无论task中执行的方法为同步方法还是异步方法,执行效率无明显差异,互有胜负,由此,从代码编写角度而言,优先编写同步代码,从在性能无明显短板的情况下,降低了代码的维护难度。
如果将多个任务拆成task数组,然后利用task并行处理,则发现性能有明显提升,与1、3方法相比,整整提升了至少一个档次。由此而言,优先使用并行处理,其次再利用task执行后台任务。