码迷,mamicode.com
首页 > 编程语言 > 详细

关于多端开发中遇到的一点线程问题

时间:2018-09-21 10:48:17      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:安卓   技术分享   遇到的问题   settime   com   线程   地理位置   传参   讲解   

 

 在开发中我们会遇到很多不可思议的问题!可能前端对于线程理解的不是很深入,我先给大家讲一下什么是线程。

 线程是进程内执行代码基本单位,那么进程是什么呢?指程序被OS调入内存,分配执行空间,随时供CPU调度执行,也就是我们电脑所开启的很多进程,这样是不是更清楚了呢?(这里就不深入讲了,以后有机会给大家讲解一下线程与进程的关系,其实我们前端webworker也是html5,新加线程的一个方法。可以了解一下)

技术分享图片

 

 最近我们开发一个签到打卡功能,我们是基于一个底层框架,安卓,ios、前端和后端联调(下面称ios和安卓为客户端)都基于这个框架开发,流程是这样的,如果用户点击打卡我要调起客户端插件,获取地理定位信息,然后我拿到这个地理位置信息给后台对比是不是在打卡范围内,如果在范围则成功反之不成功。

  流程缕清了吧?写起来特别好写,请看下面代码片段:(其中我们还有判断是不是多个班次跳转页面的流程,这里就不多说了,我们只说这个遇到的问题)

 技术分享图片

    上面代码我红框圈起来的地方就是我调用客户端插件的方法,下面蓝框我做了一个延时,大家是不是觉得很奇怪?我为什么要做延时呢?起初我没有加这个延时,直接调用方法,方法就不生效,甚至走都没有走进去!!,我查了很久,就是不知道怎么回事,因为这也不存在赋值传参的问题啊,就算有赋值问题也应该先这个方法在报错啊?然后就加了一个延时,结果好使了,之后就问了我们技术总监,技术总监说,可能是调用了客户端插件之后,底层框架新开了一个线程,我的方法kq_qdbtns在主线程,然后用setTimeout回归主线程,从而调用到kq_qdbtns的这个方法。

 

 

如有不足之处请大家指出,谢谢。

 

 

 

  

关于多端开发中遇到的一点线程问题

标签:安卓   技术分享   遇到的问题   settime   com   线程   地理位置   传参   讲解   

原文地址:https://www.cnblogs.com/wenbodeboke/p/9684910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!