Java基础巩固系列 Thread的常用方法

代码示例:

/*
 *  Thread的常用方法
 *  1.start():启动线程并执行相应的run()方法
 *  2.run():子线程要执行的代码放入run()方法中
 *  3.currentThread():静态的,调取当前的线程
 *  4.getName():获取此线程的名字
 *  5.setName():设置此线程的名字
 *  6.yield():调用此方法的线程释放当前CPU的执行权
 *  7.join():在A线程中调用B线程的join()方法,表示:当执行到此方法,
 *  A线程停止执行,直至B线程执行完毕,A线程再接着join()之后的代码执行
 *  8.isAlive():判断当前线程时候还存活
 *  9.sleep(long ms):显式地让当前线程睡眠ms毫秒
 *  10.线程通信:wait() notify()  notifyAll()
 *
 *  设置线程优先级
 *  getPriority():返回线程优先值
 *  setPriority(int newPriority):改变线程的优先级
 * */

public class TestThread1 {
    public static void main(String[] args) {
        SubThread1 st1 = new SubThread1();
        st1.setName("子线程1");
        st1.setPriority(Thread.MAX_PRIORITY); //1-10  优先级大不代表一定能抢到执行权,只是概率上变大了而已
        st1.start();

        Thread.currentThread().setName("========主线程");
        for (int i = 1; i <= 100; i++) {
            System.out.println(Thread.currentThread().getName() + ":" +
                    Thread.currentThread().getPriority() + ":" + i);
//            if (i % 10 == 0) {
//                Thread.currentThread().yield();
//            }
//            if (i == 20) {
//                try {
//                    st1.join();
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//            }
        }
        System.out.println(st1.isAlive());
    }
}

class SubThread1 extends Thread {
    @Override
    public void run() {
        for (int i = 1; i <= 100; i++) {
            System.out.println(Thread.currentThread().getName() + ":" +
                    Thread.currentThread().getPriority() + ":" + i);
//            try {
//                Thread.currentThread().sleep(1000);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
        }
    }
}

结果:

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

猜你喜欢

转载自blog.csdn.net/Peter__Li/article/details/89056695