1.一个类可以有多个对象,所以一个类可以有多个对象锁。 2.当一个类中有多个synchronized修饰的同步方法时,其中一个方法被线程访问持有锁,其他方法同样被锁住,其他线程依然不能访问其他同步方法,因为此时锁住的是该类的对象,相当于整个对象锁住了。 3.一个类只能有一个.claas,所有一个类只能有一个类锁。 首先的明白java中锁的机制 synchronized   在修饰代码块的时候需要一个reference对象作为锁的对象.   在修饰方法的时候默认是当前对象作为锁的对象.   在修饰类时候默认是当前类的…

2017年9月18日 0条评论 11点热度 阅读全文

【转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树】 引言 在平时项目开发中难免会遇到异步耗时的任务(比如最常见的网络请求)。遇到这种问题,我们可以自己通过Handler+Message+Thread/ThreadPool来构造一个异步耗时任务框架。当你下次项目中又遇到一个网络请求,你又不得不重写异步耗时任务处理框架。出于避免开发者重复搬砖工作,Google工程师给开发者搭建了一个通用的异步耗时任务处理框架—-AsyncTask。 AsyncTask简介 我把…

2015年7月20日 0条评论 7点热度 阅读全文

HandlerThread 简介: 我们知道Thread线程是一次性消费品,当Thread线程执行完一个耗时的任务之后,线程就会被自动销毁了。如果此时我又有一 个耗时任务需要执行,我们不得不重新创建线程去执行该耗时任务。然而,这样就存在一个性能问题:多次创建和销毁线程是很耗 系统资源的。为了解这种问题,我们可以自己构建一个循环线程Looper Thread,当有耗时任务投放到该循环线程中时,线程执行耗 时任务,执行完之后循环线程处于等待状态,直到下一个新的耗时任务被投放进来。这样一来就避免了多次创建Thread线程…

2015年7月11日 0条评论 7点热度 阅读全文