安卓多线程的安全性问题

问题描述

安卓多线程的安全性问题

public void run() {

            if (isRecording) {
                voiceLength++;
                int s = MaxTime - voiceLength;
                if (s <=10) {
                    sendHandler(HANDLER_Time_Remind, s);
                }
                if (s == 0) {
                     stopRecoding();
                    sendHandler(HANDLER_stop, s);
                }
            }
        }

                    以上代码是做录音功能时获取录音时间的代码,是一个timer定时器,1秒调用一次,但是现在出现了问题,每一次调用都是两个线程在同时运行,造成了voiceLength的脏读,该怎么解决这个问题呢

解决方案

定时器执行怎么可能会两个线程在工作呢?如果你是手动执行定时器就要考虑一下线程同步的问题, 比如window下用临界区,详细自己百度吧

时间: 2024-12-02 15:20:28

安卓多线程的安全性问题的相关文章

关于安卓多线程后台图片下载的集合类的采用

问题描述 关于安卓多线程后台图片下载的集合类的采用 我的想法是使用一个ArrayList来分派下载任务,对ArrayList加上synchronized是不是就可以了? 解决方案 是的,不过synchronized不要锁定静态对象,否则可能造成死锁. 解决方案二: 通过synchronized进行线程同步,但是你开启多线程确又枷锁,多线程没用了啊 解决方案三: 大概逻辑: public synchronized void download(String url ){ //开始下载 //结束下载

安卓多线程问题如何新建线程

问题描述 安卓多线程问题如何新建线程 Runnable updateThread = new Runnable() 在代码中看到的,不是Java中实现线程有两种方法,一种是继承thread类,还有一种是实现Runnable接口,这行代码怎么理解 解决方案 public class Thread extends Object implements Runnable Thread类也是Runnable接口的子类.Runnable updateThread = new Runnable()这并没有创建

深入研究Servlet线程安全性问题

摘要:介绍了Servlet多线程机制,通过一个实例并结合Java 的内存模型说明引起Servlet线程不安全的原因,给出了保证Servlet线程安全的三种解决方案,并说明三种方案在实际开发中的取舍. 关键字:Servlet 线程安全 同步 Java内存模型 实例变量 Servlet/JSP技术和ASP.PHP等相比,由于其多线程运行而具有很高的执行效率.由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题.然而,很多人编写Servlet/JS

谷歌安卓年度安全报告:每天为4亿台设备提供安全服务

"开放"的安卓也非常安全 北京时间4月20日消息,据CNBC报道,近日,世界最大的移动操作系统制造商谷歌表示,安卓系统比之前安全多了.本周二,谷歌发布了第二版安卓年度安全报告,报告中展示了它们是如何保护数十亿设备的. 谷歌称,去年它们每天都要为4亿台设备提供安全服务,帮助用户找回或者抹掉20万台丢失设备.此外,每天它们还要检查60亿个应用,以防恶意软件出现. "我也不想面对这种情况,但事实上每天都有各种潜在威胁出现,我们需要一一应对,"安卓系统安全部主管阿德里安·卢

诺基亚安卓机 Nokia X 系列发布:早干嘛去了?

在被微软折磨得不行以后,诺基亚 终于向安卓敞开了怀抱,请注意是敞开怀抱而不是投向安卓的怀抱,因为诺基亚的目的是利用安卓带动微软的服务,是奔着微软而非谷歌去的.北京时间2月24日 下午,诺基亚在2014巴塞罗那移动世界 大会上正式发布了三款搭载安卓系统的智能手机Nokia X .Nokia X+以及Nokia XL,网友评论第一条是:早干什么去了?这种不屑的口吻并不足以否定诺基亚安卓机的未来,如果做的早就可以做成, 那么今天站在安卓巅峰的就应该是HTC而不是三星甚至小米.诺基亚在WP上耽误了近3年

为什么我们需要STM(Software Transactional Memory)

update: 2013-8-20 从pypy的博客上看,他们早已实现了STM版的pypy:http://morepypy.blogspot.com/2013/08/update-on-stm.html,不过,貌似还有很多问题. 最近看到一个国内牛人的博客:http://www.cnblogs.com/coryxie/,上面有很多关于无锁算法,STM的东东. 才知道原来无论是软件事务内存,还是硬件事务内存,都早有实现了.. ------------------------------------

纽约时报:维基解密再度让硅谷与情报机构之间关系紧张

行人从纽约曼哈顿第五大道的苹果零售店门前匆匆走过 北京时间3月9日消息,美国<纽约时报>网络版今天撰文指出,2013年6月份,美国国家安全局前雇员斯诺登曝光了情报机构的"棱镜"监控计划,那起丑闻也让美国政府与科技企业的关系一度跌入谷底. 然而,维基解密最新曝光的中情局监控计划却再度让硅谷与美国情报机构之间的关系陷入紧张,恐怕使双方在过去四年弥合裂痕的努力付之东流. 以下为文章全文: 四年前,美国国家安全局雇员爱德华·斯诺登(Edward J. Snowden)向媒体披露了&

问一下static对象的作用域

问题描述 在一个解决方案中,在其中一个项目,比如comomon类中定义了一个static对象obj,然后在解决方案的A项目中调用了这个类,给obj赋值然后在解决方案的B项目中获取这个obj,能获取到A项目的赋值吗?如果在C项目中lock这个obj,对其他项目又影响吗?项目ABC都是类库然后在项目D(winform或者web)使用 解决方案 解决方案二:在解决方案的B项目中获取这个obj,能获取到A项目的赋值吗?能如果在C项目中lock这个obj,对其他项目又影响吗?lock是针对跨线程的其他lo

报告称 MAC 恶意软件火箭式猛增

美国苹果执行特立独行的软硬件封闭生态,无论是在新苹果电脑或是手机的发布会上,乔布斯.库克都会以Windows电脑和安卓手机的安全性开刷,与此同时营销苹果产品如何安全. 不过今非昔比,最新一份报告显示,针对苹果电脑的恶意软件呈现出火箭式增长,苹果高管继续嘲笑Windows和安卓,可能被"打脸". 在1990年代的个人电脑市场大战中,IBM PC和克隆机将苹果电脑赶出了市场,苹果电脑面临倒闭,乔布斯本人被挤出公司.随后,苹果电脑在市场上一直呈现小众化生存,用户不多.销量也不高,这导致黑客对