【】带线程安全的单例模式. ? 【】涉及线程安全的函数写法 异步线程下载库源码分析: 【】displayImage ?public?void?displayImage(String?uri,?ImageAware?imageAware,?DisplayImageOptions?options,
...
                            
                            
                                分类:
移动开发   时间:
2014-10-01 21:32:51   
                                阅读次数:
418
                             
                         
                    
                        
                            
                            
                                之前的项目里要做一个异步更新UI的功能,但是结果出现了ANR,所以想写个demo来测试到底是哪个地方出现了问题,结果发现原来的思路是没有问题,郁闷~~
现在这个demo 就是模拟项目里面 的步骤
1、接收到系统的广播(现在模拟为人工发送)
2、广播接收到后,handler通知异步线程从网上下载数据,是异步(模拟为sleep)
3、数据下载完后handler再通知UI更新
下面是主...
                            
                            
                                分类:
移动开发   时间:
2014-09-28 16:32:32   
                                阅读次数:
250
                             
                         
                    
                        
                            
                            
                                一切搞定,以为高枕无忧了,结果还是有问题!  log开始报错了,获取更新信息异常!!!debug一下,发现Exception:android.os.NetworkOnMainThreadException  这个异常大概意思是在主线程访问网络时出的异常。 Android在4.0之前的版本 支持在主线程中访问网络,但是在4.0以后对这部分程序进行了优化,也就是说访问网络的代码不能写在主线程中了。...
                            
                            
                                分类:
移动开发   时间:
2014-09-28 16:28:32   
                                阅读次数:
254
                             
                         
                    
                        
                            
                            
                                有这样一个场景:一个异步方法a,被foreach循环b调用,这个时候,还没来得及处理异步返回的数据c,就会执行下一个循环,所有循环b执行完的时候,再次回到异步方法a,会因为void关键字,捕捉不到先前的数据c。eg: private void GetSecondinfo(IEnumerable in...
                            
                            
                                分类:
编程语言   时间:
2014-09-24 22:17:47   
                                阅读次数:
211
                             
                         
                    
                        
                            
                            
                                在学习异步之前先来说说异步的好处,例如对于不需要CPU参数的输入输出操作,可以将实际的处理步骤分为以下三步:启动处理;实际的处理,此时不需要CPU参数;任务完成后的处理; 以上步骤如果仅仅使用一个线程,当线程正在处理UI操作时就会出现“卡”的现象。 如果使用异步的处理方式,则这三步处理过程涉及到.....
                            
                            
                                分类:
编程语言   时间:
2014-08-29 12:32:37   
                                阅读次数:
252
                             
                         
                    
                        
                            
                            
                                Android异步消息处理线程,该线程一直处于无限循环之中,每次从Message Queue中读取消息,然后回调消息处理的方法,Handler的HandlerMessage中处理消息。如果消息队列为空,该线程就挂,等待消息队列中有消息进来,就唤醒线程。1.Android异步线程内部结构 在线程...
                            
                            
                                分类:
移动开发   时间:
2014-08-15 01:17:06   
                                阅读次数:
404
                             
                         
                    
                        
                            
                            
                                对于Python来说,并不缺少并发选项,其标准库包括了对线程、进程和异步I/O的支持。在许多情况下,通过创建诸如异步、线程和子进程之类的高层模块,Python简化了各种并发方法的使用。除了标准库之外,还有一些第三方的解决方案。例如Twisted、Stackless和进程Module。因为GIL,C..
                            
                            
                                分类:
编程语言   时间:
2014-07-31 13:40:17   
                                阅读次数:
306
                             
                         
                    
                        
                            
                            
                                虽然以前用过多线程,但是时间一久再用的话还会出不少问题。我的项目中用到了多线程,为了实现异步请求的效果。主线程负责创建异步请求对象,并将其插入到请求队列中去,如果队列原先为空,则唤醒异步线程,然后直接返回。异步线程则从请求队列中取出异步请求对象,然后调用相关的功能接口,并实现回调。 但当我调试...
                            
                            
                                分类:
编程语言   时间:
2014-07-27 21:31:45   
                                阅读次数:
208
                             
                         
                    
                        
                            
                            
                                GCD(Grand Central Dispatch) : 牛逼的中枢调度器。苹果自带,纯C语言实现,提供了非常多且强大的函数,它可以提高代码的执行效率与多核的利用率。
一、GCD的基本使用
1、GCD中的两个核心概念
:
?任务: 执行什么任务.
?队列: 用来存放任务. (用来调度任务)
2、GCD使用的2个步骤:
?1.定制任务. 
(确定想做的事情)
?2.将任务添加...
                            
                            
                                分类:
移动开发   时间:
2014-07-25 11:18:32   
                                阅读次数:
310
                             
                         
                    
                        
                            
                            
                                - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
NSURLConnection去加载一个URL请求时候有两种方式,一种是同步加载,一种是异步加载。
同步加载会阻塞当前的那个线程,如果将同步加载的代码放在主线程里去执行,那么就会阻塞主线程。
异步加载一种方式使用的是block,...
                            
                            
                                分类:
其他好文   时间:
2014-07-23 00:07:47   
                                阅读次数:
368