死锁:是两个或者两个以上的线程被无限的阻塞,线程之间互相等待所需资源。线程死锁产生的条件:当两个线程相互调用Join()方法。当两个线程使用嵌套的同步代码块的时候,一个线程占用了另一个线程的锁,互相等待阻塞,就有可能产生死锁。下面看代码:代码1:死锁的案例package com.lp.ecjtu.T...
分类:
编程语言 时间:
2014-08-09 13:16:08
阅读次数:
267
这里举个例子讲解,同步synchronized在什么地方加,以及同步的前提:* 1.必须要有两个以上的线程,才需要同步。* 2.必须是多个线程使用同一个锁。* 3.必须保证同步中只能有一个线程在运行,锁加在哪一块代码那么我们要思考的地方有:1.知道我们写的哪些是多线程代码 2.明确共享数据 3.明确...
分类:
编程语言 时间:
2014-08-07 00:35:07
阅读次数:
260
上一节售票系统中我们发现,打印出了错票,0,-1,出现了多线程安全问题。我们分析为什么会发生多线程安全问题?看下面线程的主要代码:@Override public void run() { // TODO Auto-generated method stub ...
分类:
编程语言 时间:
2014-08-06 21:47:52
阅读次数:
301