方案一:继承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