并发编程
文章平均质量分 78
zmywhhit
这个作者很懒,什么都没留下…
展开
-
java并发编程实践 ThreadLocal
ThreadLocal 的功能,能够为各个访问的线程copy出初始化后的资源副本,因此各个访问资源的线程在改变资源状态的时候,只是改变分配给该线程副本的状态,因此各个线程之间没有干扰,可以按照各自设定的序列执行。对比代码如下:UniqueInt与iTest分别为两个Integer类型的数据。UniqueInt应用了ThreadLocal。线程T1与T2分别进行-1与+2操作。如果没原创 2012-07-27 11:32:03 · 447 阅读 · 0 评论 -
单例模式与静态函数能否保证并行访问数据的安全。
本文主要为了测试一下在单例模式非静态函数与静态函数能能否被多个线程同时访问。维护的项目很多地方用到了单例模式?使用单例模式给人的感觉就是多个线程访问的时候,因为都是访问的同一个对象,比如add与get访问的时候感觉会阻塞成调用的队列一个个执行。其实仔细想想,单例模式就是new个对象,这个普通的对象线程安全是绝对没有保障的(只是单例有点障眼法的意思)。实际测试结果正好相反单例原创 2014-01-25 22:57:11 · 754 阅读 · 0 评论 -
synchronized 同步锁
synchronized的使用,是线程并行访问数据的时候常用的一种保证数据一致性的方式,在同步代码段访问期间,其他线程不能对其进行访问。synchronized修饰的方法在访问期间,非synchronized修饰的方法可以访问么?(之前不清楚,现在知道了其实很好去想,因为synchronized修改的方法其实等同于synchorinized(this),而没有同步的代码当然是可以访问的。)原创 2014-01-23 23:32:44 · 963 阅读 · 0 评论