/**
* Created by xabcd on 2019/2/18.
*/
public class testsync {
public static void main(String args[]) {
erroThread tt = new erroThread();
//启动了4个线程,实现资源共享
new Thread(tt).start();
new Thread(tt).start();
new Thread(tt).start();
new Thread(tt).start();
//使用 Thread t = new Thread(tt); 结果是一个线程
// t.start();
}
}
class erroThread implements Runnable
{
private int tickets = 20;
public void run() {
while (true) {
if (tickets > 0) {
try {
Thread.sleep(900);
} catch (InterruptedException x) {
}
System.out.println(Thread.currentThread().getName() + "出售票" + tickets--);
}
}
}
}
结果:
Thread-3出售票18
Thread-0出售票20
Thread-2出售票20
Thread-1出售票19
Thread-3出售票17
Thread-2出售票17
Thread-0出售票15
Thread-1出售票16
Thread-3出售票14
Thread-0出售票13
Thread-2出售票14
Thread-1出售票14
Thread-2出售票12
Thread-1出售票10
Thread-3出售票10
Thread-0出售票11
Thread-3出售票9
Thread-1出售票9
Thread-0出售票9
Thread-2出售票9
Thread-3出售票8
Thread-0出售票8
Thread-2出售票7
Thread-1出售票8
Thread-3出售票6
Thread-1出售票4
Thread-0出售票4
Thread-2出售票5
Thread-0出售票3
Thread-2出售票3
Thread-3出售票2
Thread-1出售票3
Thread-3出售票1
Thread-2出售票1
Thread-1出售票-1
Thread-0出售票0