java 测时多线程执行时的疑问?
public class Cai implements Runnable {
@Override
public synchronized void run() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+" : "+i);
}
}
}
public class Run {
@Test
public void test2() throws Exception {
Cai cai = new Cai();
Thread thread = new Thread(cai);
Thread thread2 = new Thread(cai);
Thread thread3 = new Thread(cai);
thread.setName("线程1");
thread2.setName("线程2");
thread3.setName("线程3");
thread.start();
thread2.start();
thread3.start();
}
}
当执行test2方法时,为什么会出现如: 线程1循环0-99,线程2循环0-10然后程序就结束了,这是为什么?
线程2没有执行完全,线程3就没有执行到???
给我你的怀抱2017-05-17 10:03:14
import java.io.*;
class test
{
public static void main (String[] args) throws java.lang.Exception
{
System.out.println("hi");
Cai cai = new Cai();
Thread thread = new Thread(cai);
Thread thread2 = new Thread(cai);
Thread thread3 = new Thread(cai);
thread.setName("线程1");
thread2.setName("线程2");
thread3.setName("线程3");
thread.start();
thread2.start();
thread3.start();
}
}
class Cai implements Runnable {
@Override
public synchronized void run() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+" : "+i);
}
}
}
hi
线程1 : 0
线程1 : 1
线程1 : 2
线程1 : 3
线程1 : 4
线程1 : 5
线程1 : 6
线程1 : 7
线程1 : 8
线程1 : 9
线程1 : 10
线程1 : 11
线程1 : 12
线程1 : 13
线程1 : 14
线程1 : 15
线程1 : 16
线程1 : 17
线程1 : 18
线程1 : 19
线程1 : 20
线程1 : 21
线程1 : 22
线程1 : 23
线程1 : 24
线程1 : 25
线程1 : 26
线程1 : 27
线程1 : 28
线程1 : 29
线程1 : 30
线程1 : 31
线程1 : 32
线程1 : 33
线程1 : 34
线程1 : 35
线程1 : 36
线程1 : 37
线程1 : 38
线程1 : 39
线程1 : 40
线程1 : 41
线程1 : 42
线程1 : 43
线程1 : 44
线程1 : 45
线程1 : 46
线程1 : 47
线程1 : 48
线程1 : 49
线程1 : 50
线程1 : 51
线程1 : 52
线程1 : 53
线程1 : 54
线程1 : 55
线程1 : 56
线程1 : 57
线程1 : 58
线程1 : 59
线程1 : 60
线程1 : 61
线程1 : 62
线程1 : 63
线程1 : 64
线程1 : 65
线程1 : 66
线程1 : 67
线程1 : 68
线程1 : 69
线程1 : 70
线程1 : 71
线程1 : 72
线程1 : 73
线程1 : 74
线程1 : 75
线程1 : 76
线程1 : 77
线程1 : 78
线程1 : 79
线程1 : 80
线程1 : 81
线程1 : 82
线程1 : 83
线程1 : 84
线程1 : 85
线程1 : 86
线程1 : 87
线程1 : 88
线程1 : 89
线程1 : 90
线程1 : 91
线程1 : 92
线程1 : 93
线程1 : 94
线程1 : 95
线程1 : 96
线程1 : 97
线程1 : 98
线程1 : 99
线程2 : 0
线程2 : 1
线程2 : 2
线程2 : 3
线程2 : 4
线程2 : 5
线程2 : 6
线程2 : 7
线程2 : 8
线程2 : 9
线程2 : 10
线程2 : 11
线程2 : 12
线程2 : 13
线程2 : 14
线程2 : 15
线程2 : 16
线程2 : 17
线程2 : 18
线程2 : 19
线程2 : 20
线程2 : 21
线程2 : 22
线程2 : 23
线程2 : 24
线程2 : 25
线程2 : 26
线程2 : 27
线程2 : 28
线程2 : 29
线程2 : 30
线程2 : 31
线程2 : 32
线程2 : 33
线程2 : 34
线程2 : 35
线程2 : 36
线程2 : 37
线程2 : 38
线程2 : 39
线程2 : 40
线程2 : 41
线程2 : 42
线程2 : 43
线程2 : 44
线程2 : 45
线程2 : 46
线程2 : 47
线程2 : 48
线程2 : 49
线程2 : 50
线程2 : 51
线程2 : 52
线程2 : 53
线程2 : 54
线程2 : 55
线程2 : 56
线程2 : 57
线程2 : 58
线程2 : 59
线程2 : 60
线程2 : 61
线程2 : 62
线程2 : 63
线程2 : 64
线程2 : 65
线程2 : 66
线程2 : 67
线程2 : 68
线程2 : 69
线程2 : 70
线程2 : 71
线程2 : 72
线程2 : 73
线程2 : 74
线程2 : 75
线程2 : 76
线程2 : 77
线程2 : 78
线程2 : 79
线程2 : 80
线程2 : 81
线程2 : 82
线程2 : 83
线程2 : 84
线程2 : 85
线程2 : 86
线程2 : 87
线程2 : 88
线程2 : 89
线程2 : 90
线程2 : 91
线程2 : 92
线程2 : 93
线程2 : 94
线程2 : 95
线程2 : 96
线程2 : 97
线程2 : 98
线程2 : 99
线程3 : 0
线程3 : 1
线程3 : 2
线程3 : 3
线程3 : 4
线程3 : 5
线程3 : 6
线程3 : 7
线程3 : 8
线程3 : 9
线程3 : 10
线程3 : 11
线程3 : 12
线程3 : 13
线程3 : 14
线程3 : 15
线程3 : 16
线程3 : 17
线程3 : 18
线程3 : 19
线程3 : 20
线程3 : 21
线程3 : 22
线程3 : 23
线程3 : 24
线程3 : 25
线程3 : 26
线程3 : 27
线程3 : 28
线程3 : 29
线程3 : 30
线程3 : 31
线程3 : 32
线程3 : 33
线程3 : 34
线程3 : 35
线程3 : 36
线程3 : 37
线程3 : 38
线程3 : 39
线程3 : 40
线程3 : 41
线程3 : 42
线程3 : 43
线程3 : 44
线程3 : 45
线程3 : 46
线程3 : 47
线程3 : 48
线程3 : 49
线程3 : 50
线程3 : 51
线程3 : 52
线程3 : 53
线程3 : 54
线程3 : 55
线程3 : 56
线程3 : 57
线程3 : 58
线程3 : 59
线程3 : 60
线程3 : 61
线程3 : 62
线程3 : 63
线程3 : 64
线程3 : 65
线程3 : 66
线程3 : 67
线程3 : 68
线程3 : 69
线程3 : 70
线程3 : 71
线程3 : 72
线程3 : 73
线程3 : 74
线程3 : 75
线程3 : 76
线程3 : 77
线程3 : 78
线程3 : 79
线程3 : 80
线程3 : 81
线程3 : 82
线程3 : 83
线程3 : 84
线程3 : 85
线程3 : 86
线程3 : 87
线程3 : 88
线程3 : 89
线程3 : 90
线程3 : 91
线程3 : 92
线程3 : 93
线程3 : 94
线程3 : 95
线程3 : 96
线程3 : 97
线程3 : 98
线程3 : 99
我的可以啊,每次都可以