摘要: 线程同步什么是线程同步?当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题。实现同步机制有两个方法:1。同步代码块:synchronized(同一个数据){}同一个数据:就是N条线程同时访问一个数据。2。同步方法:public synchronized数据返回类型 方法名(){}就是使用 synchronized 来修饰某个方法,则该方法称为同步方法。对于同步方法而言,无需显示指定同步监视器,同步方法的同步监视器是 this也就是该对象的本身(这里指的对象本身有点含糊,其实就是调用该同步方法的对象)通过使用 阅读全文
posted @ 2012-06-01 08:29 www_ding@163.com 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 在android中的xml设置一个布局的大小,比如不能改变一个背景图的大小,如果不起作用一个可能就是其他的布局影响了该布局的,还有一个可能就是在代码中设置了这个布局的大小(这个错误很隐藏) 阅读全文
posted @ 2012-02-19 23:48 www_ding@163.com 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 在android中发送信息是有时候发送的内容过于长,就会报错,要用divide方法分割一下才能发送 阅读全文
posted @ 2012-02-19 23:45 www_ding@163.com 阅读(332) 评论(0) 推荐(0) 编辑
摘要: Java Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection)。我们在浏览BBS、SNS网站的时候,常常会看到“当前在线人数”这样的一项内容。对于这样的一项功能,我们通常的做法是把当前的在线人数存放到一 个内存、文件或者数据库中,每次用户登录的时候,就会马上从内存、文件或者数据库中取出,在其基础上加1后,作为当前的在线人数进行显示,然后再把它保存 回内存、文件或者数据库里,这样后续登录的用户看到的就是更新后的当前在线人数 阅读全文
posted @ 2011-09-24 22:07 www_ding@163.com 阅读(706) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ConditionCommunication { /** * 这一个示例的学习应该和传统的线程通信相互对比,Condition的通信优点查看文档 */ public static void main(String[] args) { final Bussiness bu... 阅读全文
posted @ 2011-09-24 10:38 www_ding@163.com 阅读(187) 评论(0) 推荐(0) 编辑
摘要: import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class CacheDemo { /** * 缓存:就是一个对象把数据(从数据库或是文件...)拿到,等待另外的对象来取数据 * 如果存在就直接取走,不存在则查询数据库或文件... * */ private static Map... 阅读全文
posted @ 2011-09-24 10:37 www_ding@163.com 阅读(241) 评论(0) 推荐(0) 编辑
摘要: import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionService;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorCompletionService;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import jav 阅读全文
posted @ 2011-09-24 10:35 www_ding@163.com 阅读(286) 评论(0) 推荐(0) 编辑
摘要: import java.util.Random;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class ThreadReadWriteLock { /** * 读写锁 * 读得时候还能读 * 读的时候不能写 * 写的时候不能读 * 写的时候不能写 */ publi... 阅读全文
posted @ 2011-09-24 10:34 www_ding@163.com 阅读(529) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ThreadLock { /** * java中的锁类是于synchronized * Lock是比传统线程模型中的synchronized 的方式更加面向对象,与生活中的锁类似 * 锁本身也是一个对象。两个线程执行的飞、代码片段要实现同步互斥的效果 * 他们必须是同一个对象。锁是上在代表要操作的资源的类的内部方法中,而不是线程代码中 */ p... 阅读全文
posted @ 2011-09-24 10:32 www_ding@163.com 阅读(203) 评论(0) 推荐(0) 编辑
摘要: import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;public class TraditionalThreadPlool { /** * 线程池 */ public static void main(String[] args) { ////创建了有3条线程的线程池// ExecutorService threadPool = Executors.new... 阅读全文
posted @ 2011-09-24 10:30 www_ding@163.com 阅读(725) 评论(0) 推荐(0) 编辑