这一章节我们来讨论一下同步方法与同步静态代码块持有的是不同的锁。代码清单:package com.ray.deepintothread.ch02.topic_18;
/**
*
* @author RayLee
*
*/
public class SynchClass {
public static void main(String[] args) throws Interrupte...
分类:
编程语言 时间:
2016-05-12 11:30:40
阅读次数:
192
这一章节我们来讨论一下synchronized ()代码块的另一个用法,它不单可以用this,也可以用其他对象。1.代码清单package com.ray.deepintothread.ch02.topic_13;
/**
*
* @author RayLee
*
*/
public class ObjectLock {
public static void main(String[...
分类:
编程语言 时间:
2016-05-07 07:24:54
阅读次数:
221
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=22105 ...
分类:
其他好文 时间:
2016-05-06 02:01:35
阅读次数:
148
这一章节我们来讨论一下缓解同步方法的隐患-同步代码块。1.思路:把同步方法,降低同步的粒度,同步到代码块2.根据上一章节的例子,我们把代码修改一下(1)第一种方法,把同步标记移到更新的那一栏里面去,一般来说大部分都是更新的时候需要同步数据package com.ray.deepintothread.ch02.topic_9;
/**
* 从头认识多线程-2.8 缓解同步方法的隐患-同步代码块...
分类:
编程语言 时间:
2016-05-03 18:29:29
阅读次数:
210
这一章节我们来讨论游戏,synchronized持有对象锁与类锁的不同点-两种锁是并行的东西,没有交集。1.同步持有对象锁或者类锁package com.ray.deepintothread.ch02.topic_3;
public class SynchInstance5 {
public static void main(String[] args) throws InterruptedE...
分类:
编程语言 时间:
2016-04-29 18:59:13
阅读次数:
249
这一章节我们来讨论一下synchronized持有对象锁。1.当所有方法都不使用同步的时候代码清单package com.ray.deepintothread.ch02.topic_2;
public class SynchInstance1 {
public static void main(String[] args) throws InterruptedException {
MyT...
分类:
编程语言 时间:
2016-04-29 18:59:02
阅读次数:
232
这一章节我们来讨论一下脏读(DirtyRead)。1.为什么出现脏读?因为代码没有做同步,虽然set方法同步,但是由于get方法一般都会忘了,导致读的值是被写过的2.代码清单(1)由于程序没有同步,并且执行太快,导致脏读package com.ray.deepintothread.ch02.topic_4;
public class DirtyRead {
public static void...
分类:
编程语言 时间:
2016-04-29 18:10:52
阅读次数:
222
这一章节我们来讨论一下可重入锁。1.什么是可重入锁?一个线程在执行一个带锁的方法,该方法中又调用了另一个需要相同锁的方法,则该线程可以直接执行调用的方法,而无需重新获得锁。2.特性:(1)同一对象,不同方法,可以获取同样的锁,然后重入package com.ray.deepintothread.ch02.topic_5;
public class ReGetInTheLock {
public...
分类:
编程语言 时间:
2016-04-29 16:41:56
阅读次数:
179
这一章节我们来讨论一下同步是不具备继承性的。1.代码清单package com.ray.deepintothread.ch02.topic_7;
/**
*
*
*
* @author RayLee
*
*/
public class SynchronizationDoesNotHaveInheritance {
public static void main(String[...
分类:
编程语言 时间:
2016-04-29 15:02:24
阅读次数:
198
这一章节我们来讨论一下同步方法的隐患。1.同步虽然给我们带来数据的一致性,但是,同时也降低了性能,代码清单:package com.ray.deepintothread.ch02.topic_8;
import java.sql.Time;
/**
*
*
*
* @author RayLee
*
*/
public class ThreatOfSynch {
public...
分类:
编程语言 时间:
2016-04-29 15:00:36
阅读次数:
130