[发明专利]地图引擎多线程的控制方法及装置有效
申请号: | 202110188382.5 | 申请日: | 2021-02-19 |
公开(公告)号: | CN112559160B | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 贾双成;贾郭峰;朱磊;王斌;李成军 | 申请(专利权)人: | 智道网联科技(北京)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54;G06F9/4401 |
代理公司: | 北京中知君达知识产权代理有限公司 11769 | 代理人: | 李辰;黄启法 |
地址: | 100013 北京市东*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 地图 引擎 多线程 控制 方法 装置 | ||
本申请是关于一种地图引擎多线程的控制方法及装置。该方法包括:地图引擎中的主线程向辅线程发送任务通知,所述任务通知中包括所述辅线程的预设标志;在所述辅线程的预设标志为第一标志值的信息的情况下,启动相应任务;所述辅线程完成所述任务后,向所述主线程发送预设标志为第二标志值的信息,并使所述辅线程进入睡眠状态;在所述辅线程的睡眠状态符合预设条件的情况下,将所述辅线程从所述睡眠状态转换为阻塞状态。本申请提供的方案,能够降低地图引擎对系统资源的消耗,提高地图引擎的处理速度。
技术领域
本申请涉及导航技术领域,尤其涉及一种地图引擎多线程的控制方法及装置。
背景技术
地图引擎是一个多线程系统,由于多个线程中各个线程处理任务需要的时间不相同,一个线程已经处理完任务,另一个线程还在处理任务过程中,导致在多个线程同步时,容易发生安全问题。为避免发生安全问题,相关技术的地图引擎在等待其它线程处理完任务后,再实现多线程的同步。而完成任务处理的辅线程在等待时不释放占用的系统资源,因此,消耗了较多的系统资源,降低了地图引擎的处理速度。
因此,相关技术地图引擎的多线程处理任务时无法同步,而为保持多线程的同步,又消耗较多的系统资源,降低了地图引擎的处理速度。
发明内容
为克服相关技术中存在的问题,本申请提供一种地图引擎多线程的控制方法及装置,能够降低地图引擎对系统资源的消耗,提高地图引擎的处理速度。
本申请第一方面提供一种地图引擎多线程的控制方法,所述方法包括:
地图引擎中的主线程向辅线程发送任务通知,所述任务通知中包括所述辅线程的预设标志为第一标志值的信息;
在所述辅线程的预设标志为第一标志值的信息的情况下,启动相应任务;
所述辅线程完成所述任务后,向所述主线程发送预设标志为第二标志值的信息,并使所述辅线程进入睡眠状态;
在所述辅线程的睡眠状态符合预设条件的情况下,将所述辅线程从所述睡眠状态转换为阻塞状态。
优选的,所述方法还包括:
使所述辅线程在所述睡眠状态下,与所述主线程同步共享资源。
优选的,所述将所述辅线程从所述睡眠状态转换为阻塞状态之后包括:
所述主线程向所述辅线程发送预设标志为第一标志值的信息,将所述辅线程从所述阻塞状态中唤醒。
优选的,所述在所述辅线程的睡眠状态符合预设条件的情况下,将所述辅线程从所述睡眠状态转换为阻塞状态,包括:
判断所述辅线程的睡眠状态是否超过预设时间阈值,若是,判断所述辅线程的预设标志是否为第二标志值;
在所述辅线程的预设标志为第二标志值的情况下,将所述辅线程从所述睡眠状态转换为阻塞状态。
优选的,所述预设标志为任务处理完毕标志threaddoneflag。
优选的,所述辅线程为信息点搜索线程、导航服务线程、地图面和点元素的显示线程、地图标签的显示线程、地图道路的显示线程、从网络或硬盘获取数据线程其中之一。
本申请第二方面提供一种地图引擎多线程的控制装置,所述装置包括:
发送模块,用于地图引擎中的主线程向辅线程发送任务通知,所述任务通知中包括所述辅线程的预设标志为第一标志值的信息;
启动模块,用于在所述辅线程的预设标志为第一标志值的信息的情况下,启动相应任务;
睡眠模块,用于所述辅线程完成所述任务后,向所述主线程发送预设标志为第二标志值的信息,并使所述辅线程进入睡眠状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于智道网联科技(北京)有限公司,未经智道网联科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110188382.5/2.html,转载请声明来源钻瓜专利网。