同步锁synchronized卖票

运行例子

1
2
3
4
5
6
7
8
9
10
11
12
class 
{
public static void main(String args[]) throws Exception
{
Ticket t1=new Ticket("第一个窗口");
t1.start();

new Ticket("第二个窗口").start();
new Ticket("第三个窗口").start();
new Ticket("第四个窗口").start();
}
}

线程类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Ticket extends Thread
{
private String name;
Ticket(String name){
this.name=name;
}


private static int tick=100;
public void run() {
synchronized (this) { //变量锁
// synchronized (Ticket.class) { // 对象锁

while (true) {
if (tick > 0) {
System.out.println(name + "卖了:--" + tick--);
}
} }
}

}