售票案例==买到重复的票,

方案一:继承Thread

代码:

package day20200821;

public class Demo01 {
	public static void main(String[] args) {
		Thread t1 = new MyThread1();
	
		Thread t2 = new MyThread1();
		Thread t3 = new MyThread1();
		Thread t4 = new MyThread1();
		
		t1.start();
		t2.start();
		t3.start();
		t4.start();
		
		
		
	}
	

}

class MyThread1 extends Thread{
	static int tictek = 100;
	
	
	@Override
	public void run() {
		while(true){
			System.out.println(getName()+"票号:" + tictek);
			tictek--;
			if(tictek<=0){
				break;
			}
		}
	}
}

打印结果:

Thread-0票号:100
Thread-2票号:100
Thread-1票号:100
Thread-2票号:98
Thread-0票号:99
Thread-2票号:96
Thread-1票号:97
Thread-2票号:94
Thread-2票号:92
Thread-2票号:91
Thread-2票号:90
Thread-2票号:89
Thread-2票号:88
Thread-2票号:87
Thread-2票号:86
Thread-2票号:85
Thread-2票号:84
Thread-2票号:83
Thread-2票号:82
Thread-2票号:81
Thread-2票号:80
Thread-2票号:79
Thread-2票号:78
Thread-2票号:77
Thread-0票号:95
Thread-0票号:75
Thread-0票号:74
Thread-0票号:73
Thread-0票号:72
Thread-0票号:71
Thread-0票号:70
Thread-3票号:76
Thread-2票号:76
Thread-2票号:67
Thread-2票号:66
Thread-2票号:65
Thread-2票号:64
Thread-2票号:63
Thread-2票号:62
Thread-2票号:61
Thread-2票号:60
Thread-2票号:59
Thread-2票号:58
Thread-2票号:57
Thread-2票号:56
Thread-2票号:55
Thread-2票号:54
Thread-2票号:53
Thread-2票号:52
Thread-2票号:51
Thread-1票号:91
Thread-2票号:50
Thread-3票号:68
Thread-0票号:69
Thread-3票号:47
Thread-2票号:48
Thread-1票号:49
Thread-1票号:43
Thread-1票号:42
Thread-1票号:41
Thread-1票号:40
Thread-1票号:39
Thread-1票号:38
Thread-1票号:37
Thread-1票号:36
Thread-1票号:35
Thread-2票号:44
Thread-2票号:33
Thread-2票号:32
Thread-2票号:31
Thread-3票号:45
Thread-0票号:46
Thread-0票号:28
Thread-0票号:27
Thread-3票号:29
Thread-2票号:30
Thread-2票号:24
Thread-2票号:23
Thread-1票号:34
Thread-2票号:22
Thread-2票号:20
Thread-2票号:19
Thread-3票号:25
Thread-0票号:26
Thread-0票号:16
Thread-0票号:15
Thread-0票号:14
Thread-0票号:13
Thread-0票号:12
Thread-0票号:11
Thread-0票号:10
Thread-0票号:9
Thread-0票号:8
Thread-0票号:7
Thread-0票号:6
Thread-0票号:5
Thread-0票号:4
Thread-0票号:3
Thread-0票号:2
Thread-0票号:1
Thread-3票号:17
Thread-2票号:18
Thread-1票号:21

方案二:实现implements Runnable

代码:

package day20200821;

public class Demo02 {
	public static void main(String[] args) {
		MyThread t = new MyThread();
		Thread t1  = new Thread(t);
		Thread t2  = new Thread(t);
		Thread t3  = new Thread(t);
		Thread t4  = new Thread(t);
		t1.start();
		t2.start();
		t3.start();
		t4.start();
	}

}

class MyThread implements Runnable{
	static int tictek = 100;
	@Override
	public void run() {
		// TODO Auto-generated method stub
		while(true){
			System.out.println(Thread.currentThread().getName()+"票号"+tictek);
			tictek--;
			if(tictek<1){
				break;
			}
		}
	}
}

打印结果:

Thread-0票号100
Thread-2票号100
Thread-1票号100
Thread-3票号98
Thread-2票号98
Thread-0票号99
Thread-2票号95
Thread-3票号96
Thread-1票号97
Thread-1票号92
Thread-1票号91
Thread-2票号93
Thread-0票号94
Thread-0票号87
Thread-0票号86
Thread-0票号85
Thread-0票号84
Thread-2票号88
Thread-3票号89
Thread-1票号90
Thread-3票号81
Thread-3票号79
Thread-3票号78
Thread-3票号77
Thread-2票号82
Thread-2票号75
Thread-2票号74
Thread-2票号73
Thread-2票号72
Thread-2票号71
Thread-0票号83
Thread-0票号69
Thread-0票号68
Thread-0票号67
Thread-0票号66
Thread-0票号65
Thread-0票号64
Thread-0票号63
Thread-0票号62
Thread-0票号61
Thread-0票号60
Thread-0票号59
Thread-2票号70
Thread-2票号57
Thread-2票号56
Thread-2票号55
Thread-2票号54
Thread-2票号53
Thread-3票号76
Thread-1票号80
Thread-3票号51
Thread-2票号52
Thread-0票号58
Thread-2票号48
Thread-3票号49
Thread-1票号50
Thread-3票号45
Thread-3票号43
Thread-3票号42
Thread-3票号41
Thread-3票号40
Thread-3票号39
Thread-3票号38
Thread-3票号37
Thread-3票号36
Thread-3票号35
Thread-3票号34
Thread-3票号33
Thread-3票号32
Thread-3票号31
Thread-3票号30
Thread-3票号29
Thread-3票号28
Thread-3票号27
Thread-3票号26
Thread-3票号25
Thread-3票号24
Thread-3票号23
Thread-2票号46
Thread-0票号47
Thread-2票号21
Thread-3票号22
Thread-1票号44
Thread-3票号18
Thread-2票号19
Thread-0票号20
Thread-0票号14
Thread-0票号13
Thread-0票号12
Thread-0票号11
Thread-0票号10
Thread-0票号9
Thread-0票号8
Thread-0票号7
Thread-0票号6
Thread-0票号5
Thread-0票号4
Thread-0票号3
Thread-0票号2
Thread-0票号1
Thread-2票号15
Thread-3票号16
Thread-1票号17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_43472248

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值