首頁  >  問答  >  主體

java 測試多執行緒執行時遇到的疑問?

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就沒有執行到???

ringa_leeringa_lee2735 天前663

全部回覆(2)我來回復

  • PHPz

    PHPz2017-05-17 10:03:14

    加上 thread.join,主執行緒才會等待這個執行緒執行完畢

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱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
    

    我的可以啊,每次都可以

    回覆
    0
  • 取消回覆