RSF
2018-06-20 14:04
package cpm.imooc.concurrent;
public class Actor extends Thread {
//Actor = 演员 Thread = 线程 getName = 获取名字 setName = 改写名字
//start = 开始 keepRunning = 保持运行 Thread.sleep = 线程休眠
//currentThread = 当前线程
public void run(){
System.out.println(getName()+"是一个演员!");
int count = 0;
boolean keepRunning = true;
while(keepRunning){
System.out.println(getName()+"登台演出:"+(++count));
if(count == 100){
keepRunning = false;
}
if(count%10 == 0){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println(getName()+"的演出结束了!");
}
public static void main(String[] args){
Thread actor = new Actor();
actor.setName("Mr.Thread");
actor.start();
Thread actressThread = new Thread(new Actress(),"Mr.Runnable");
actressThread.start();
}
}
class Actress implements Runnable{
public void run(){
System.out.println(Thread.currentThread().getName()+"是一个演员!");
int count = 0;
boolean keepRunning = true;
while(keepRunning){
System.out.println(Thread.currentThread().getName()+"登台演出:"+(++count));
if(count == 100){
keepRunning = false;
}
if(count%10 == 0){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println(Thread.currentThread().getName()+"的演出结束了!");
}
}
结果不一样,哪里错了???
Mr.Thread是一个演员!
Mr.Runnable是一个演员!
Mr.Thread登台演出:1
Mr.Runnable登台演出:1
Mr.Thread登台演出:2
Mr.Runnable登台演出:2
Mr.Thread登台演出:3
Mr.Runnable登台演出:3
Mr.Thread登台演出:4
Mr.Runnable登台演出:4
Mr.Thread登台演出:5
Mr.Runnable登台演出:5
Mr.Thread登台演出:6
Mr.Runnable登台演出:6
Mr.Thread登台演出:7
Mr.Runnable登台演出:7
Mr.Thread登台演出:8
Mr.Runnable登台演出:8
Mr.Thread登台演出:9
Mr.Runnable登台演出:9
Mr.Thread登台演出:10
Mr.Runnable登台演出:10
Mr.Runnable登台演出:11
Mr.Thread登台演出:11
Mr.Runnable登台演出:12
Mr.Thread登台演出:12
Mr.Thread登台演出:13
Mr.Runnable登台演出:13
Mr.Thread登台演出:14
Mr.Runnable登台演出:14
Mr.Thread登台演出:15
Mr.Runnable登台演出:15
Mr.Runnable登台演出:16
Mr.Thread登台演出:16
Mr.Runnable登台演出:17
Mr.Runnable登台演出:18
Mr.Thread登台演出:17
Mr.Runnable登台演出:19
Mr.Thread登台演出:18
Mr.Runnable登台演出:20
Mr.Thread登台演出:19
Mr.Thread登台演出:20
Mr.Runnable登台演出:21
Mr.Runnable登台演出:22
Mr.Runnable登台演出:23
Mr.Runnable登台演出:24
Mr.Runnable登台演出:25
Mr.Runnable登台演出:26
Mr.Runnable登台演出:27
Mr.Runnable登台演出:28
Mr.Runnable登台演出:29
Mr.Runnable登台演出:30
Mr.Thread登台演出:21
Mr.Thread登台演出:22
Mr.Thread登台演出:23
Mr.Thread登台演出:24
Mr.Thread登台演出:25
Mr.Thread登台演出:26
Mr.Thread登台演出:27
Mr.Thread登台演出:28
Mr.Thread登台演出:29
Mr.Thread登台演出:30
Mr.Runnable登台演出:31
Mr.Runnable登台演出:32
Mr.Runnable登台演出:33
Mr.Runnable登台演出:34
Mr.Runnable登台演出:35
Mr.Runnable登台演出:36
Mr.Runnable登台演出:37
Mr.Runnable登台演出:38
Mr.Runnable登台演出:39
Mr.Runnable登台演出:40
Mr.Thread登台演出:31
Mr.Thread登台演出:32
Mr.Thread登台演出:33
Mr.Thread登台演出:34
Mr.Thread登台演出:35
Mr.Thread登台演出:36
Mr.Thread登台演出:37
Mr.Thread登台演出:38
Mr.Thread登台演出:39
Mr.Thread登台演出:40
Mr.Runnable登台演出:41
Mr.Runnable登台演出:42
Mr.Runnable登台演出:43
Mr.Runnable登台演出:44
Mr.Runnable登台演出:45
Mr.Runnable登台演出:46
Mr.Runnable登台演出:47
Mr.Runnable登台演出:48
Mr.Runnable登台演出:49
Mr.Runnable登台演出:50
Mr.Thread登台演出:41
Mr.Thread登台演出:42
Mr.Thread登台演出:43
Mr.Thread登台演出:44
Mr.Thread登台演出:45
Mr.Thread登台演出:46
Mr.Thread登台演出:47
Mr.Thread登台演出:48
Mr.Thread登台演出:49
Mr.Thread登台演出:50
Mr.Runnable登台演出:51
Mr.Runnable登台演出:52
Mr.Runnable登台演出:53
Mr.Runnable登台演出:54
Mr.Runnable登台演出:55
Mr.Runnable登台演出:56
Mr.Runnable登台演出:57
Mr.Runnable登台演出:58
Mr.Runnable登台演出:59
Mr.Runnable登台演出:60
Mr.Thread登台演出:51
Mr.Thread登台演出:52
Mr.Thread登台演出:53
Mr.Thread登台演出:54
Mr.Thread登台演出:55
Mr.Thread登台演出:56
Mr.Thread登台演出:57
Mr.Thread登台演出:58
Mr.Thread登台演出:59
Mr.Thread登台演出:60
Mr.Runnable登台演出:61
Mr.Runnable登台演出:62
Mr.Runnable登台演出:63
Mr.Runnable登台演出:64
Mr.Runnable登台演出:65
Mr.Runnable登台演出:66
Mr.Runnable登台演出:67
Mr.Runnable登台演出:68
Mr.Runnable登台演出:69
Mr.Runnable登台演出:70
Mr.Thread登台演出:61
Mr.Thread登台演出:62
Mr.Thread登台演出:63
Mr.Thread登台演出:64
Mr.Thread登台演出:65
Mr.Thread登台演出:66
Mr.Thread登台演出:67
Mr.Thread登台演出:68
Mr.Thread登台演出:69
Mr.Thread登台演出:70
Mr.Runnable登台演出:71
Mr.Runnable登台演出:72
Mr.Runnable登台演出:73
Mr.Runnable登台演出:74
Mr.Runnable登台演出:75
Mr.Runnable登台演出:76
Mr.Runnable登台演出:77
Mr.Runnable登台演出:78
Mr.Runnable登台演出:79
Mr.Runnable登台演出:80
Mr.Thread登台演出:71
Mr.Thread登台演出:72
Mr.Thread登台演出:73
Mr.Thread登台演出:74
Mr.Thread登台演出:75
Mr.Thread登台演出:76
Mr.Thread登台演出:77
Mr.Thread登台演出:78
Mr.Thread登台演出:79
Mr.Thread登台演出:80
Mr.Runnable登台演出:81
Mr.Runnable登台演出:82
Mr.Runnable登台演出:83
Mr.Runnable登台演出:84
Mr.Runnable登台演出:85
Mr.Runnable登台演出:86
Mr.Runnable登台演出:87
Mr.Runnable登台演出:88
Mr.Runnable登台演出:89
Mr.Runnable登台演出:90
Mr.Thread登台演出:81
Mr.Thread登台演出:82
Mr.Thread登台演出:83
Mr.Thread登台演出:84
Mr.Thread登台演出:85
Mr.Thread登台演出:86
Mr.Thread登台演出:87
Mr.Thread登台演出:88
Mr.Thread登台演出:89
Mr.Thread登台演出:90
Mr.Runnable登台演出:91
Mr.Runnable登台演出:92
Mr.Runnable登台演出:93
Mr.Runnable登台演出:94
Mr.Runnable登台演出:95
Mr.Runnable登台演出:96
Mr.Runnable登台演出:97
Mr.Runnable登台演出:98
Mr.Runnable登台演出:99
Mr.Runnable登台演出:100
Mr.Thread登台演出:91
Mr.Thread登台演出:92
Mr.Thread登台演出:93
Mr.Thread登台演出:94
Mr.Thread登台演出:95
Mr.Thread登台演出:96
Mr.Thread登台演出:97
Mr.Thread登台演出:98
Mr.Thread登台演出:99
Mr.Thread登台演出:100
Mr.Runnable的演出结束了!
Mr.Thread的演出结束了!
结果不固定的,让出cpu后,两个线程同时竞争,所以运行结果不固定。。。
深入浅出Java多线程
186088 学习 · 464 问题
相似问题