同步方法解决实现Runnable接口创建线程的线程安全问题
代码不够标准,开发时要进行完善与修改,此处只是起到理解作用
package com.xiancheng.bean;
/*
* 同步方法解决实现Runnable接口创建多线程的安全问题
* 如果操作共享數據的代碼完整的声明在一个方法中,我们可以考虑使用this来充当同步监视器
* */
public class TestThree {
public static void main(String[] args) {
TestSix t = new TestSix();
Thread t1 = new Thread(t);
Thread t2 = new Thread(t);
Thread t3 = new Thread(t);
t1.setName("窗口一");
t2.setName("窗口二");
t3.setName("窗口三");
t1.start();
t2.start();
t3.start();
}
}
class TestSix implements Runnable {
private int ticket = 100;
public void run() {
while (true) {
show();
}
}
private synchronized void show(){
if (ticket > 0) {
System.out.println(Thread.currentThread().getName() + "卖的票号为:" + ticket);
ticket--;
}
}
}